JayBeams  0.1
Another project to have fun coding.
Functions
jb::yaml Namespace Reference

Functions

void merge_node (YAML::Node target, YAML::Node const &source)
 Merge two YAML nodes. More...
 
void merge_map (YAML::Node target, YAML::Node const &source)
 Merge all the values from source into target. More...
 
void merge_sequences (YAML::Node target, YAML::Node const &source)
 Memberwise merge two sequences, from source into target. More...
 
void merge (class_overrides &by_class, YAML::Node source)
 Merge the class-overrides from source into by_class. More...
 
class_overrides clone (class_overrides const &by_class)
 Recursively clone all the overrides in by_class. More...
 

Function Documentation

◆ clone()

jb::class_overrides jb::yaml::clone ( class_overrides const &  by_class)

Recursively clone all the overrides in by_class.

Definition at line 67 of file merge_yaml.cpp.

Referenced by jb::config_object::apply_overrides().

◆ merge()

void jb::yaml::merge ( class_overrides by_class,
YAML::Node  source 
)

Merge the class-overrides from source into by_class.

Given a set of by-class overrides apply any additional by-class overrides from source source into by_class.

Definition at line 40 of file merge_yaml.cpp.

References JB_ASSERT_THROW, and merge_node().

Referenced by jb::config_object::apply_overrides().

◆ merge_map()

void jb::yaml::merge_map ( YAML::Node  target,
YAML::Node const &  source 
)

Merge all the values from source into target.

Unlike a simple assignment, if source does not have a value for a given key, we keep the value from target.

Definition at line 24 of file merge_yaml.cpp.

References merge_node().

Referenced by merge_node().

◆ merge_node()

void jb::yaml::merge_node ( YAML::Node  target,
YAML::Node const &  source 
)

Merge two YAML nodes.

Unlike a simple assignment, if source does not have a value for a given key, we keep the value from target.

Definition at line 5 of file merge_yaml.cpp.

References merge_map(), and merge_sequences().

Referenced by BOOST_AUTO_TEST_CASE(), merge(), merge_map(), and merge_sequences().

◆ merge_sequences()

void jb::yaml::merge_sequences ( YAML::Node  target,
YAML::Node const &  source 
)

Memberwise merge two sequences, from source into target.

If source has more elements than target the additional values are appended. If source has less elements than target, the extra values in target are unmodified.

Definition at line 30 of file merge_yaml.cpp.

References merge_node().

Referenced by merge_node().