我可以重命名yaml cpp中的节点吗?
假设我有一个YAML条目,如我可以重命名yaml cpp中的节点吗?,yaml,yaml-cpp,Yaml,Yaml Cpp,假设我有一个YAML条目,如foo:bar。我是否可以使用yaml cpp将键foo重命名为buz,而不必复制所有内容?换句话说,我知道我可以做到: YAML::Node node = YAML::Load("foo:bar"); YAML::Node new_node; new_node["buz"] = node["foo"]; 然而,这似乎是浪费,我想知道是否有一个内置的功能,只需重命名键foo?那么您可以执行以下操作 YAML
foo:bar
。我是否可以使用yaml cpp将键foo
重命名为buz
,而不必复制所有内容?换句话说,我知道我可以做到:
YAML::Node node = YAML::Load("foo:bar");
YAML::Node new_node;
new_node["buz"] = node["foo"];
然而,这似乎是浪费,我想知道是否有一个内置的功能,只需重命名键
foo
?那么您可以执行以下操作
YAML::Node Node=YAML::Load(“foo:bar”);
for(auto it=node.begin();it!=node.end();+it){
if(it->first.as()=“foo”){
it->first=“buz”;
打破
}
}
据我所知,yaml cpp将其映射项存储为对列表,因此查找将执行这样的循环。您可以执行以下操作
YAML::Node Node=YAML::Load(“foo:bar”);
for(auto it=node.begin();it!=node.end();+it){
if(it->first.as()=“foo”){
it->first=“buz”;
打破
}
}
据我所知,yaml cpp将其映射项存储为对列表,因此查找将执行这样的循环