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 不做更具体的自动标签检测,例如,它不会验证!!int!!float.

于 2013-03-28T03:39:25.837 回答