1 #pragma once
2 
3 #include "config_node_complex_value.hpp"
4 #include <hocon/config_syntax.hpp>
5 
6 namespace hocon {
7 
8     class config_node_root : public config_node_complex_value {
9     public:
10         config_node_root(shared_node_list children, shared_origin origin);
11 
12         std::shared_ptr<const config_node_complex_value> new_node(shared_node_list nodes) const override;
13 
14         std::shared_ptr<const config_node_complex_value> value() const;
15         std::shared_ptr<const config_node_root> set_value(std::string desired_path,
16                                                           shared_node_value,
17                                                           config_syntax flavor) const;
18         bool has_value(std::string desired_path) const;
19 
20     private:
21         shared_origin _origin;
22     };
23 
24 }  // namespace hocon
25