5 #include <unordered_map> 6 #pragma GCC diagnostic push 7 #pragma GCC diagnostic ignored "-Waddress" 8 #if defined(__GNUC__) && __GNUC__ > 5 9 #pragma GCC diagnostic ignored "-Wnonnull-compare" 11 #include "boost/variant.hpp" 12 #pragma GCC diagnostic pop 24 using shared_config = std::shared_ptr<const config>;
27 using shared_object = std::shared_ptr<const config_object>;
30 using shared_origin = std::shared_ptr<const config_origin>;
35 using shared_value = std::shared_ptr<const config_value>;
38 using shared_list = std::shared_ptr<const config_list>;
40 typedef boost::make_recursive_variant<boost::blank, std::string, int64_t, double, int, bool,
41 std::vector<boost::recursive_variant_>, std::unordered_map<std::string,
42 boost::recursive_variant_>>::type unwrapped_value;
45 using shared_container = std::shared_ptr<const container>;
48 using shared_node = std::shared_ptr<const abstract_config_node>;
49 using shared_node_list = std::vector<shared_node>;
51 using shared_string = std::shared_ptr<const std::string>;
56 using shared_includer = std::shared_ptr<const config_includer>;
59 using shared_include_context = std::shared_ptr<const config_include_context>;
62 using shared_parseable = std::shared_ptr<const config_parseable>;
An AbstractConfigValue which contains other values.
A set of options related to parsing.
An immutable map from config paths to config values.
Context provided to a config_includer; this interface is only useful inside a.
Factory for creating config_document instances.
An opaque handle to something that can be parsed, obtained from config_include_context.
std::pair< int64_t, int > duration
A duration represented as a 64-bit integer of seconds plus a 32-bit number of nanoseconds representin...
Represents the origin (such as filename and line number) of a config_value for use in error messages...
Implement this interface and provide an instance to config_parse_options.set_includer() to customize ...
Subtype of ConfigValue representing a list value, as in JSON's.
An immutable value, following the JSON type schema.