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>;