diff options
Diffstat (limited to '3rdparty/pugixml/docs/samples/custom_memory_management.cpp')
-rw-r--r-- | 3rdparty/pugixml/docs/samples/custom_memory_management.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/3rdparty/pugixml/docs/samples/custom_memory_management.cpp b/3rdparty/pugixml/docs/samples/custom_memory_management.cpp new file mode 100644 index 00000000000..2cb5520ea72 --- /dev/null +++ b/3rdparty/pugixml/docs/samples/custom_memory_management.cpp @@ -0,0 +1,27 @@ +#include "pugixml.hpp" + +#include <new> + +// tag::decl[] +void* custom_allocate(size_t size) +{ + return new (std::nothrow) char[size]; +} + +void custom_deallocate(void* ptr) +{ + delete[] static_cast<char*>(ptr); +} +// end::decl[] + +int main() +{ +// tag::call[] + pugi::set_memory_management_functions(custom_allocate, custom_deallocate); +// end::call[] + + pugi::xml_document doc; + doc.load_string("<node/>"); +} + +// vim:et |