1

yaml-cppでは、この関数は、アプリケーション定義のタグがYAMLソースで使用されている場合YAML::Node::Tag()以外は何も返さないようです。"?"確かに、(たとえば)"!!map""!!int"または他の組み込みタグを返す必要があります。これは望ましい動作ですか。たとえば、null、boolean、integer、float、stringなどのスカラーノードの特定のタイプタグをどのように判別できますか?私が見ることができる唯一のアプローチはYAML::Node::as<T>()、例外がスローされなくなるまで各タイプで試すことです。

4

1 に答える 1

0

ノードのタイプを取得するには、を呼び出しますYAML::Node::Type()。戻り値は次のいずれかです。

YAML::NodeType::Undefined
YAML::NodeType::Null
YAML::NodeType::Scalar
YAML::NodeType::Sequence
YAML::NodeType::Map

yaml-cppは、より具体的な自動タグ検出を行いません。たとえば、!!intvs 。を検証しません!!float

于 2013-03-28T03:39:25.837 に答える