Skip to content
Snippets Groups Projects
manual.qbk 66.7 KiB
Newer Older
	* `xml_parse_result `[link xml_document::load_stream load]`(std::istream& stream, unsigned int options = parse_default, xml_encoding encoding = encoding_auto);`
	* `xml_parse_result `[link xml_document::load_stream load]`(std::wistream& stream, unsigned int options = parse_default);`
	* `xml_parse_result `[link xml_document::load_string load]`(const char_t* contents, unsigned int options = parse_default);`
	* `xml_parse_result `[link xml_document::load_file load_file]`(const char* path, unsigned int options = parse_default, xml_encoding encoding = encoding_auto);`
	* `xml_parse_result `[link xml_document::load_buffer load_buffer]`(const void* contents, size_t size, unsigned int options = parse_default, xml_encoding encoding = encoding_auto);`
	* `xml_parse_result `[link xml_document::load_buffer_inplace load_buffer_inplace]`(void* contents, size_t size, unsigned int options = parse_default, xml_encoding encoding = encoding_auto);`
	* `xml_parse_result `[link xml_document::load_buffer_inplace_own load_buffer_inplace_own]`(void* contents, size_t size, unsigned int options = parse_default, xml_encoding encoding = encoding_auto);`
	* void save(xml_writer& writer, const char_t* indent = PUGIXML_TEXT("\t"), unsigned int flags = format_default, xml_encoding encoding = encoding_auto) const;
	* void save(std::basic_ostream<char, std::char_traits<char> >& stream, const char_t* indent = PUGIXML_TEXT("\t"), unsigned int flags = format_default, xml_encoding encoding = encoding_auto) const;
	* void save(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& stream, const char_t* indent = PUGIXML_TEXT("\t"), unsigned int flags = format_default) const;
	[lbr]

	* bool save_file(const char* path, const char_t* indent = PUGIXML_TEXT("\t"), unsigned int flags = format_default, xml_encoding encoding = encoding_auto) const;
	[lbr]

* xpath_query
	* explicit xpath_query(const char_t* query);
	* ~xpath_query();
	* bool evaluate_boolean(const xml_node& n) const;
	* double evaluate_number(const xml_node& n) const;
	* string_t evaluate_string(const xml_node& n) const;
	* xpath_node_set evaluate_node_set(const xml_node& n) const;

* xml_writer
	* virtual ~xml_writer() {}
	* virtual void write(const void* data, size_t size) = 0;

* xml_writer_file
	* xml_writer_file(void* file);
	* virtual void write(const void* data, size_t size);

* xml_writer_stream
	* xml_writer_stream(std::basic_ostream<char, std::char_traits<char> >& stream);
	* xml_writer_stream(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& stream);

	* virtual void write(const void* data, size_t size);
* xml_node_iterator
* xml_attribute_iterator

* xml_tree_walker
	* int depth() const;
	* xml_tree_walker();
	* virtual ~xml_tree_walker();

	* virtual bool begin(xml_node&);
	* virtual bool for_each(xml_node&) = 0;
	* virtual bool end(xml_node&);

* xml_parse_result
	* xml_parse_status status;
	* ptrdiff_t offset;
	* operator bool() const
	* const char* description() const;

* xpath_exception
	* explicit xpath_exception(const char* message);
	* virtual const char* what() const throw();

* xpath_node
	* xpath_node();
	* xpath_node(const xml_node& node);
	* xpath_node(const xml_attribute& attribute, const xml_node& parent);
	* xml_node node() const;
	* xml_attribute attribute() const;
	* xml_node parent() const;
	* operator unspecified_bool_type() const;
	* bool operator!() const;
	* bool operator==(const xpath_node& n) const;
	* bool operator!=(const xpath_node& n) const;

* xpath_node_set
	* enum type_t
		* type_unsorted
		* type_sorted
		* type_sorted_reverse

	* typedef const xpath_node* const_iterator;

	* xpath_node_set();
	* ~xpath_node_set();
	* xpath_node_set(const xpath_node_set& ns);
	* xpath_node_set& operator=(const xpath_node_set& ns);
	* type_t type() const;
	* size_t size() const;
	* xpath_node operator[](size_t index) const;
	* const_iterator begin() const;
	* const_iterator end() const;
	* void sort(bool reverse = false);
	* xpath_node first() const;
	* bool empty() const;

Functions:

* [link as_utf8]
* [link as_wide]
* [link get_memory_allocation_function]
* [link get_memory_deallocation_function]
* [link set_memory_management_functions]

[endsect] [/apiref]

Maybe we need user manual, quick one-page tutorial and examples, but don't need standalone API reference?