1 #ifndef HEADER_TEST_WRITER_STRING_HPP
2 #define HEADER_TEST_WRITER_STRING_HPP
3 
4 #include "../src/pugixml.hpp"
5 
6 #include <string>
7 
8 struct xml_writer_string: public pugi::xml_writer
9 {
10 	std::string contents;
11 
12 	virtual void write(const void* data, size_t size) PUGIXML_OVERRIDE;
13 
14 	std::string as_narrow() const;
15 	std::basic_string<wchar_t> as_wide() const;
16 	std::basic_string<pugi::char_t> as_string() const;
17 };
18 
19 std::string save_narrow(const pugi::xml_document& doc, unsigned int flags, pugi::xml_encoding encoding);
20 bool test_save_narrow(const pugi::xml_document& doc, unsigned int flags, pugi::xml_encoding encoding, const char* expected, size_t length);
21 
22 std::string write_narrow(pugi::xml_node node, unsigned int flags, pugi::xml_encoding encoding);
23 bool test_write_narrow(pugi::xml_node node, unsigned int flags, pugi::xml_encoding encoding, const char* expected, size_t length);
24 
25 std::basic_string<wchar_t> write_wide(pugi::xml_node node, unsigned int flags, pugi::xml_encoding encoding);
26 
27 #endif
28