Sha256: a6c96a6a946f7e4113e7ce2413a85a2696b1cba51cf5e6581d79c8e55474dc12

Contents?: true

Size: 952 Bytes

Versions: 16

Compression:

Stored size: 952 Bytes

Contents

#pragma once

#include <hocon/config_value.hpp>
namespace hocon {

    /**
     * An AbstractConfigValue which contains other values. Java has no way to
     * express "this has to be an AbstractConfigValue also" other than making
     * AbstractConfigValue an interface which would be aggravating. But we can say
     * we are a ConfigValue.
     */
    class container {
    public:
        /**
         * Replace a child of this value. CAUTION if replacement is null, delete the
         * child, which may also delete the parent, or make the parent into a
         * non-container.
         */
        virtual shared_value replace_child(shared_value const& child, shared_value replacement) const = 0;

        /**
         * Super-expensive full traversal to see if descendant is anywhere
         * underneath this container.
         */
        virtual bool has_descendant(shared_value const& descendant) const = 0;
    };

}  // 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/container.hpp
facter-3.12.1.cfacter.20181031 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
facter-3.11.6.cfacter.20181031 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
facter-3.12.1.cfacter.20181023 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
facter-3.11.5.cfacter.20181022 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
facter-3.12.0.cfacter.20181004 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
facter-3.12.0.cfacter.20181001 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
facter-3.12.0.cfacter.20180918 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
facter-3.11.4.cfacter.20180821 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
facter-3.11.3.cfacter.20180716 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
facter-3.11.2.cfacter.20180612 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
facter-3.9.6.cfacter.20180612 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
facter-3.11.2.cfacter.20180606 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
facter-3.9.6.cfacter.20180606 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
facter-3.11.0.cfacter.20180319 ext/facter/cpp-hocon/lib/inc/internal/container.hpp
cfacter-3.11.0.rc.20180314 ext/facter/cpp-hocon/lib/inc/internal/container.hpp