paco_uk
paco_uk

Reputation: 465

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?

Upvotes: 11

Views: 10477

Answers (1)

Jesse Beder
Jesse Beder

Reputation: 34054

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
}

Upvotes: 19

Related Questions