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