22struct ORCUS_DLLPUBLIC xml_table_range_t
24 std::vector<std::string> paths;
25 std::vector<std::string> row_groups;
28 xml_table_range_t(
const xml_table_range_t& other);
29 xml_table_range_t(xml_table_range_t&& other)
noexcept;
32 xml_table_range_t& operator=(xml_table_range_t other)
noexcept;
34 void swap(xml_table_range_t& other)
noexcept;
43class ORCUS_DLLPUBLIC xml_structure_tree
46 std::unique_ptr<impl> mp_impl;
49 xml_structure_tree() =
delete;
50 xml_structure_tree(
const xml_structure_tree&) =
delete;
51 xml_structure_tree& operator= (
const xml_structure_tree&) =
delete;
53 struct ORCUS_DLLPUBLIC entity_name
56 std::string_view name;
59 entity_name(xmlns_id_t _ns, std::string_view _name);
61 bool operator< (
const entity_name& r)
const;
62 bool operator== (
const entity_name& r)
const;
64 struct ORCUS_DLLPUBLIC
hash
66 size_t operator ()(
const entity_name& val)
const;
70 typedef std::vector<entity_name> entity_names_type;
72 struct ORCUS_DLLPUBLIC element
79 element(
const entity_name& _name,
bool _repeat,
bool _has_content);
87 class ORCUS_DLLPUBLIC walker
89 friend class xml_structure_tree;
91 std::unique_ptr<walker_impl> mp_impl;
93 walker(
const xml_structure_tree::impl& parent_impl);
96 walker(
const walker& r);
98 walker& operator= (
const walker& r);
163 std::string get_xmlns_short_name(xmlns_id_t ns)
const;
183 xml_structure_tree(xml_structure_tree&& other);
184 ~xml_structure_tree();
186 void parse(std::string_view s);
188 void dump_compact(std::ostream& os)
const;
190 walker get_walker()
const;
194 void process_ranges(range_handler_type rh)
const;
196 void swap(xml_structure_tree& other);
Definition xml_namespace.hpp:100