Удаление узла по имени в yaml-cpp

Кажется, я не могу удалить подузлы из узла YAML с помощью библиотеки YAML-cpp. Это код, который я пытаюсь:

  YAML::Node y = YAML::Load("\
  a: first\n\
  b: second\n\
  c: \n\
      d: third\n\
      e: \n\
          f: fourth\n\
          g: fifth\n\
  ");  
  cout << y;
  cout << endl << endl;
  y.remove(y["b"]);
  cout << y;
  cout << endl;

и это вывод:

a: first
c:
  e:
    g: fifth
    f: fourth
  d: third
b: second

a: first
c:
  e:
    g: fifth
    f: fourth
  d: third
b: second

в то время как ожидаемый результат должен заключаться в том, что второй испускаемый поток YAML не содержит элемент «b».

Что мне здесь не хватает? Спасибо :)


person Kristóf Szalay    schedule 25.02.2017    source источник


Ответы (1)