本文整理汇总了C++中MetadataNode::kind方法的典型用法代码示例。如果您正苦于以下问题:C++ MetadataNode::kind方法的具体用法?C++ MetadataNode::kind怎么用?C++ MetadataNode::kind使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MetadataNode
的用法示例。
在下文中一共展示了MetadataNode::kind方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: toPTree
inline ptree toPTree(MetadataNode const& node)
{
typedef ptree::path_type path;
ptree tree;
tree.put("name", node.name());
tree.put("description", node.description());
tree.put("type", node.type());
tree.put("value", node.value());
MetadataNodeList children = node.children();
for (auto n = children.begin(); n != children.end(); ++n)
{
ptree pnode = toPTree(*n);
if (node.kind() == MetadataType::Array)
{
boost::optional<ptree&> opt =
tree.get_child_optional(path(node.name(), '/'));
if (opt)
opt->push_back(std::make_pair("", pnode));
else
{
tree.push_back(ptree::value_type(node.name(), ptree()));
auto& p = tree.get_child(path(node.name(), '/'));
p.push_back(std::make_pair("", pnode));
}
}
else if (node.name().size())
tree.push_back(std::make_pair(node.name(), pnode));
}
return tree;
}