#pragma once #include "abstract_config_node_value.hpp" #include "config_node_path.hpp" namespace hocon { /** * A field represents a key-value pair of the format "key : value", * where key is a quoted or unquoted string, and value can be any node type. */ class config_node_field : public abstract_config_node_value { public: config_node_field(shared_node_list children); token_list get_tokens() const override; std::shared_ptr<const config_node_field> replace_value(shared_node_value new_value) const; shared_node_value get_value() const; shared_token separator() const; std::vector<std::string> comments() const; std::shared_ptr<const config_node_path> path() const; private: shared_node_list _children; }; } // namespace hocon