summaryrefslogtreecommitdiff
path: root/docs/samples/custom_memory_management.cpp
blob: 01a2acf9427d4dd03ee256e7e0ef55f0b2144ca4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "pugixml.hpp"

#include <new>

//[code_custom_memory_management_decl
void* custom_allocate(size_t size)
{
	return new (std::nothrow) char[size];
}

void custom_deallocate(void* ptr)
{
	delete[] static_cast<char*>(ptr);
}
//]

int main()
{
//[code_custom_memory_management_call
	pugi::set_memory_management_functions(custom_allocate, custom_deallocate);
//]

	pugi::xml_document doc;
	doc.load("<node/>");
}