3 #include <hocon/config_origin.hpp>
11 enum class origin_type { GENERIC, FILE, RESOURCE };
16 origin_type org_type, std::string resource_or_null, std::vector<std::string> comments_or_null);
20 origin_type org_type = origin_type::GENERIC);
25 std::vector<std::string>
const&
comments()
const override;
34 std::shared_ptr<const simple_config_origin> append_comments(std::vector<std::string>
comments)
const;
35 std::shared_ptr<const simple_config_origin> prepend_comments(std::vector<std::string>
comments)
const;
37 static shared_origin merge_origins(shared_origin a, shared_origin b);
38 static shared_origin merge_origins(std::vector<shared_value>
const& stack);
39 static shared_origin merge_origins(std::vector<shared_origin>
const& stack);
45 static std::shared_ptr<const simple_config_origin> merge_two(std::shared_ptr<const simple_config_origin> a,
46 std::shared_ptr<const simple_config_origin> b);
52 static std::shared_ptr<const simple_config_origin> merge_three(std::shared_ptr<const simple_config_origin> a,
53 std::shared_ptr<const simple_config_origin> b,
54 std::shared_ptr<const simple_config_origin> c);
56 static int similarity(std::shared_ptr<const simple_config_origin> a,
57 std::shared_ptr<const simple_config_origin> b);
59 std::string _description;
62 origin_type _origin_type;
63 std::string _resource_or_null;
64 std::vector<std::string> _comments_or_null;
Represents the origin (such as filename and line number) of a config_value for use in error messages.
std::vector< std::string > const & comments() const override
Returns any comments that appeared to "go with" this place in the file.
shared_origin with_line_number(int line_number) const override
Returns a pointer to a copy of this origin with the specified line number as both starting and ending...
simple_config_origin(std::string description, int line_number=-1, int end_line_number=-1, origin_type org_type=origin_type::GENERIC)
This constructor replaces the new_simple method in the original library.
shared_origin with_comments(std::vector< std::string > comments) const override
Returns a.
int line_number() const override
Returns a line number where the value or exception originated.
std::string const & description() const override
Returns a string describing the origin of a value or exception.
Factory for creating config_document instances.