GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
クラス | 関数
designlab::toml_func 名前空間

tomlファイルのシリアライズ/デシリアライズを行うための関数群. [詳解]

クラス

struct  GetTomlValueImpl
 プライマリ テンプレート.特殊化されない場合はコンパイルエラーになる. [詳解]
 
struct  GetTomlValueImpl< T, typename std::enable_if< impl::is_toml11_available_type< T >::value > ::type >
 tomlファイルから値を取得するための関数を 特殊化するために暗黙的に呼ばれる構造体. [詳解]
 
struct  GetTomlValueImpl< T, typename std::enable_if<!impl::is_toml11_available_type< T >::value &&impl::has_input_operator< T >::value >::type >
 プライマリ テンプレートの特殊化 : is_vector3 型と is_euler_xyz 型 [詳解]
 
struct  GetTomlValueImpl< T, typename std::enable_if<!impl::is_toml11_available_type< T >::value &&impl::is_vector_of_has_input_operator< T >::value >::type >
 
struct  GetTomlValueImpl< T, typename std::enable_if<!impl::is_toml11_available_type< T >::value &&std::is_enum< T >::value >::type >
 プライマリ テンプレートの特殊化 : enum 型 [詳解]
 
struct  Toml11Description
 tomlファイルに追加する変数の説明を追加するための構造体. [詳解]
 

関数

std::vector< std::string > sjis_to_utf8_vec (const std::vector< std::string > &str_vec)
 文字列のベクターをShift-jisからUTF-8に変換する.
 
template<typename T >
std::enable_if< impl::is_toml11_available_type< T >::value >::type SetTomlValue (::toml::basic_value< toml::preserve_comments, std::map > *v, const std::string &str, const T &value)
 tomlファイルに値を追加するための関数.
enum 型と vector3 型と euler_xyz 型以外の型に対応している.
 
template<typename T >
std::enable_if<!impl::is_toml11_available_type< T >::value &&std::is_enum< T >::value >::type SetTomlValue (::toml::basic_value< toml::preserve_comments, std::map > *v, const std::string &str, const T &value)
 tomlファイルに値を追加するための関数.
enum 型に対応している.値を magic_enum で文字列に変換してから追加する.
 
template<typename T >
std::enable_if<!impl::is_toml11_available_type< T >::value &&impl::has_output_operator< T >::value >::type SetTomlValue (::toml::basic_value< toml::preserve_comments, std::map > *v, const std::string &str, const T &value)
 tomlファイルに値を追加するための関数.
出力ストリームを実装している型に対応している. 値をストリームを用いて文字列に変換してから追加する.
 
template<typename T >
std::enable_if<!impl::is_toml11_available_type< T >::value &&impl::is_vector_of_has_output_operator< T >::value >::type SetTomlValue (::toml::basic_value< toml::preserve_comments, std::map > *v, const std::string &str, const T &value)
 
template<typename T >
GetTomlValue (::toml::basic_value< toml::preserve_comments, std::map > v, const std::string &var_str)
 ユーザーが直接呼ぶ関数. GetTomlValueImpl を利用してテンプレートの型を解決し, それに応じたGet関数を呼び出す.
 

詳解

tomlファイルのシリアライズ/デシリアライズを行うための関数群.

ここで定義されている関数は, tomlファイルのシリアライズ/デシリアライズを行うための関数である.
他のファイルから呼び出すことを想定していないので, このように奥まった名前空間に配置している.
C::の internal がC++にもあればこのような処理を書かなくともすむが, マクロの仕様上,このような処理を書かなければならない.

関数詳解

◆ GetTomlValue()

template<typename T >
T designlab::toml_func::GetTomlValue ( ::toml::basic_value< toml::preserve_comments, std::map >  v,
const std::string &  var_str 
)

ユーザーが直接呼ぶ関数. GetTomlValueImpl を利用してテンプレートの型を解決し, それに応じたGet関数を呼び出す.

テンプレート引数
T取得する値の型.
引数
[in]vtomlファイルのデータ.
[in]var_str取得する変数の名前.
戻り値
取得した値.

toml_serialize_macro.h207 行目に定義があります。

◆ SetTomlValue() [1/4]

template<typename T >
std::enable_if< impl::is_toml11_available_type< T >::value >::type designlab::toml_func::SetTomlValue ( ::toml::basic_value< toml::preserve_comments, std::map > *  v,
const std::string &  str,
const T &  value 
)

tomlファイルに値を追加するための関数.
enum 型と vector3 型と euler_xyz 型以外の型に対応している.

引数
vtomlファイルのデータ.
str追加する変数の名前.
value追加する値.

toml_serialize_macro.h71 行目に定義があります。

◆ SetTomlValue() [2/4]

template<typename T >
std::enable_if<!impl::is_toml11_available_type< T >::value &&std::is_enum< T >::value >::type designlab::toml_func::SetTomlValue ( ::toml::basic_value< toml::preserve_comments, std::map > *  v,
const std::string &  str,
const T &  value 
)

tomlファイルに値を追加するための関数.
enum 型に対応している.値を magic_enum で文字列に変換してから追加する.

引数
vtomlファイルのデータ.
str追加する変数の名前.
value追加する値.

toml_serialize_macro.h83 行目に定義があります。

◆ SetTomlValue() [3/4]

template<typename T >
std::enable_if<!impl::is_toml11_available_type< T >::value &&impl::has_output_operator< T >::value >::type designlab::toml_func::SetTomlValue ( ::toml::basic_value< toml::preserve_comments, std::map > *  v,
const std::string &  str,
const T &  value 
)

tomlファイルに値を追加するための関数.
出力ストリームを実装している型に対応している. 値をストリームを用いて文字列に変換してから追加する.

引数
vtomlファイルのデータ.
str追加する変数の名前.
value追加する値.

toml_serialize_macro.h96 行目に定義があります。

◆ SetTomlValue() [4/4]

template<typename T >
std::enable_if<!impl::is_toml11_available_type< T >::value &&impl::is_vector_of_has_output_operator< T >::value >::type designlab::toml_func::SetTomlValue ( ::toml::basic_value< toml::preserve_comments, std::map > *  v,
const std::string &  str,
const T &  value 
)

toml_serialize_macro.h105 行目に定義があります。

◆ sjis_to_utf8_vec()

std::vector< std::string > designlab::toml_func::sjis_to_utf8_vec ( const std::vector< std::string > &  str_vec)

文字列のベクターをShift-jisからUTF-8に変換する.

引数
str_vec変換する文字列のベクター.
戻り値
std::vector<std::string> 変換後の文字列のベクター.

toml_serialize_macro.cpp15 行目に定義があります。