3 #include "config_node_complex_value.hpp"
4 #include "config_node_path.hpp"
5 #include <hocon/path.hpp>
6 #include <hocon/config_syntax.hpp>
10 class config_node_object;
11 using shared_node_object = std::shared_ptr<const config_node_object>;
17 std::shared_ptr<const config_node_complex_value> new_node(
18 shared_node_list nodes)
const override;
20 bool has_value(
path desired_path)
const;
22 shared_node_object change_value_on_path(
path desired_path,
23 shared_node_value
value,
24 config_syntax flavor)
const;
26 shared_node_object set_value_on_path(std::string desired_path,
27 shared_node_value
value,
28 config_syntax flavor = config_syntax::CONF)
const;
31 shared_node_value
value,
32 config_syntax flavor = config_syntax::CONF)
const;
34 shared_node_list indentation()
const;
37 shared_node_value
value,
38 config_syntax flavor)
const;
40 shared_node_object remove_value_on_path(std::string desired_path, config_syntax flavor)
const;
42 static bool contains_token(shared_node node, token_type
token);