我可以重命名yaml cpp中的节点吗?

我可以重命名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

假设我有一个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将其映射项存储为对列表,因此查找将执行这样的循环