view dep/pugixml/docs/samples/custom_memory_management.cpp @ 264:9a04802848c0

*: improve multiple things e.g. making some strings.cc functions modify strings in-place, improving m4_ax_have_qt.m4 code, making anime_db.cc rely on std::optional rather than std::shared_ptr (which was stupid anyway)
author Paper <paper@paper.us.eu.org>
date Thu, 11 Apr 2024 10:15:57 -0400
parents d10b6c6b432e
children
line wrap: on
line source

#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