3 #include <hocon/config_value.hpp>
4 #include <internal/unmergeable.hpp>
5 #include <internal/container.hpp>
11 struct config_exception;
29 std::vector<shared_value> unmerged_values()
const override;
31 resolve_status get_resolve_status()
const override;
33 shared_value
replace_child(shared_value
const& child, shared_value replacement)
const override;
37 static std::vector<shared_value> consolidate(std::vector<shared_value> pieces);
38 static shared_value concatenate(std::vector<shared_value> pieces);
41 unwrapped_value unwrapped()
const override;
43 bool operator==(
config_value const& other)
const override;
46 shared_value new_copy(shared_origin
origin)
const override;
47 bool ignores_fallbacks()
const override;
51 std::vector<shared_value> _pieces;
54 static bool is_ignored_whitespace(shared_value
value);
55 static void join(std::vector<shared_value> & builder, shared_value right);
virtual shared_origin const & origin() const
The origin of the value (file, line number, etc.), for debugging and error messages.
type
The type of a configuration value (following the JSON type schema).
Factory for creating config_document instances.
virtual std::string render() const
Renders the config value as a HOCON string.
shared_value replace_child(shared_value const &child, shared_value replacement) const override
Replace a child of this value.
bool has_descendant(shared_value const &descendant) const override
Super-expensive full traversal to see if descendant is anywhere underneath this container.
config_value::type value_type() const override
The type of the value; matches the JSON type schema.
All exceptions thrown by the library are subclasses of config_exception.
An immutable value, following the JSON type schema.
Interface that tags a config_value that is not mergeable until after substitutions are resolved.
An Abstractconfig_value which contains other values.
A config_concatenation represents a list of values to be concatenated (see the spec).
shared_value relativized(std::string prefix) const override
This is used when including one file in another; the included file is relativized to the path it's in...