3 #include <hocon/config_value.hpp> 4 #include <internal/unmergeable.hpp> 8 class substitution_expression;
12 config_reference(shared_origin
origin, std::shared_ptr<substitution_expression> expr,
int prefix_length = 0);
20 std::vector<shared_value> unmerged_values()
const override;
21 resolve_status get_resolve_status()
const override;
22 unwrapped_value unwrapped()
const override;
24 std::shared_ptr<substitution_expression> expression()
const;
26 bool operator==(
config_value const& other)
const override;
29 shared_value new_copy(shared_origin
origin)
const override;
31 bool ignores_fallbacks()
const override {
return false; }
35 std::shared_ptr<substitution_expression> _expr;
virtual shared_origin const & origin() const
The origin of the value (file, line number, etc.), for debugging and error messages.
virtual std::string render() const
Renders the config value as a HOCON string.
type
The type of a configuration value (following the JSON type schema).
Factory for creating config_document instances.
type value_type() const override
The type of the value; matches the JSON type schema.
Interface that tags a ConfigValue that is not mergeable until after substitutions are resolved...
An immutable value, following the JSON type schema.