Search code examples
c++yaml-cpp

Optional keys with yaml-cpp 0.5.1


A previous answer describes how to check if a key exists in a yaml node using YAML::Node::FindValue("parameter").

Unfortunately, I can't call this in the latest version (0.5.1):

 error: ‘class YAML::Node’ has no member named ‘FindValue’

Is this expected to work or is there an equivalent function which works in the latest version?


Solution

  • In the new API, you can just check:

    if (node["parameter"]) {
      // ...
    }
    

    It may be convenient to define an object in the if (...) block:

    if (YAML::Node parameter = node["parameter"]) {
      // process parameter
    }