キャスト¶
YAML文書を読み込んだら、 yamlcast::yaml_cast()
関数を呼び出して変換を行います。
-
T
yaml_cast
<T>(const document &yaml)¶ YAML文書を与えられて型Tとしてパースします。 パースの規則は、型Tに依存します。
ユーザー定義型など、下記の型以外への変換は、pficommonのシリアライザにしたがって、 serialize メンバ関数を呼び出します。 serializa 関数内では、 MEMBER マクロか、 NAMED_MEMBER マクロを使って、変換したいフィールドを指定して下さい。 与えられたYAMLがマッピングの時に、指定されたフィールドを対象のメンバ変数に変換します。
例外: - yaml_bad_cast – 対象がマッピングではない場合に発生します。
- yaml_not_found – 指定されたフィールドが見つからなかった時に発生します。
-
bool
yaml_cast
<bool>(const document &yaml)¶ YAMLをブール値に変換します。
戻り値: 文字列”true”の場合はtrueに、”false”の場合はfalseを返します。
例外: - yaml_bad_cast – 対象がスカラーではない場合に発生します。
- yaml_invalid_scalar – スカラーの値だが、”true”でも”false”でもない場合に発生します。
-
bool
yaml_cast
<uint64_t>(const document &yaml)¶ YAMLを整数に変換します。
戻り値: 文字列を整数に変換した結果を返します。
例外: - yaml_bad_cast – 対象がスカラーではない場合に発生します。
- yaml_invalid_scalar – スカラーの値が整数でないときや、範囲外の値のときに発生します。
-
bool
yaml_cast
<double>(const document &yaml)¶ YAMLを浮動小数点数に変換します。
戻り値: 文字列を浮動小数点数に変換した値を返します。
例外: - yaml_bad_cast – 対象がスカラーではない場合に発生します。
- yaml_invalid_scalar – スカラーの値が浮動小数点数でないときに発生します。