Sha256: cf0eda6d3376a5917301f8e06e0a42c164ff0d198ad288c985a5477c7e827f47

Contents?: true

Size: 1.71 KB

Versions: 16

Compression:

Stored size: 1.71 KB

Contents

#pragma once

#include "config_node_complex_value.hpp"
#include "config_node_path.hpp"
#include <hocon/path.hpp>
#include <hocon/config_syntax.hpp>

namespace hocon {

    class config_node_object;
    using shared_node_object = std::shared_ptr<const config_node_object>;

    class config_node_object : public config_node_complex_value {
    public:
        config_node_object(shared_node_list children);

        std::shared_ptr<const config_node_complex_value> new_node(
                shared_node_list nodes) const override;

        bool has_value(path desired_path) const;

        shared_node_object change_value_on_path(path desired_path,
                                                shared_node_value value,
                                                config_syntax flavor) const;

        shared_node_object set_value_on_path(std::string desired_path,
                                             shared_node_value value,
                                             config_syntax flavor = config_syntax::CONF) const;

        shared_node_object set_value_on_path(config_node_path desired_path,
                                             shared_node_value value,
                                             config_syntax flavor = config_syntax::CONF) const;

        shared_node_list indentation() const;

        shared_node_object add_value_on_path(config_node_path desired_path,
                                             shared_node_value value,
                                             config_syntax flavor) const;

        shared_node_object remove_value_on_path(std::string desired_path, config_syntax flavor) const;

        static bool contains_token(shared_node node, token_type token);
    };

}  // namespace hocon

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
facter-3.12.2.cfacter.20181217 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.12.1.cfacter.20181031 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.11.6.cfacter.20181031 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.12.1.cfacter.20181023 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.11.5.cfacter.20181022 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.12.0.cfacter.20181004 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.12.0.cfacter.20181001 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.12.0.cfacter.20180918 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.11.4.cfacter.20180821 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.11.3.cfacter.20180716 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.11.2.cfacter.20180612 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.9.6.cfacter.20180612 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.11.2.cfacter.20180606 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.9.6.cfacter.20180606 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
facter-3.11.0.cfacter.20180319 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp
cfacter-3.11.0.rc.20180314 ext/facter/cpp-hocon/lib/inc/internal/nodes/config_node_object.hpp