如何确定yaml cpp中节点的内置标记?

如何确定yaml cpp中节点的内置标记?,yaml,yaml-cpp,Yaml,Yaml Cpp,在yaml cpp中,函数yaml::Node::Tag似乎只返回除?在YAML源中使用应用程序定义的标记时。当然,它应该返回例如!!地图int或其他内置标记。这是期望的行为吗?例如,我如何确定标量节点的特定类型标记,例如null、boolean、integer、float、string等。?我能看到的唯一方法是对每个类型尝试YAML::Node::as,直到没有引发异常。要获取节点的类型,请调用YAML::Node::type。返回值是以下值之一: YAML::NodeType::Undefi

在yaml cpp中,函数yaml::Node::Tag似乎只返回除?在YAML源中使用应用程序定义的标记时。当然,它应该返回例如!!地图int或其他内置标记。这是期望的行为吗?例如,我如何确定标量节点的特定类型标记,例如null、boolean、integer、float、string等。?我能看到的唯一方法是对每个类型尝试YAML::Node::as,直到没有引发异常。

要获取节点的类型,请调用YAML::Node::type。返回值是以下值之一:

YAML::NodeType::Undefined
YAML::NodeType::Null
YAML::NodeType::Scalar
YAML::NodeType::Sequence
YAML::NodeType::Map
yaml cpp不会执行更具体的自动标签检测,例如,它不会验证!!int vs!!浮动