CARLA
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
xml_allocator Struct Reference
+ Inheritance diagram for xml_allocator:
+ Collaboration diagram for xml_allocator:

Public Member Functions

void * allocate_memory (size_t size, xml_memory_page *&out_page)
 
void * allocate_memory_oob (size_t size, xml_memory_page *&out_page)
 
void * allocate_object (size_t size, xml_memory_page *&out_page)
 
xml_memory_pageallocate_page (size_t data_size)
 
char_t * allocate_string (size_t length)
 
void deallocate_memory (void *ptr, size_t size, xml_memory_page *page)
 
void deallocate_string (char_t *string)
 
bool reserve ()
 
 xml_allocator (xml_memory_page *root)
 

Static Public Member Functions

static void deallocate_page (xml_memory_page *page)
 

Public Attributes

size_t _busy_size
 
xml_memory_page_root
 

Detailed Description

Definition at line 514 of file pugixml.cpp.

Constructor & Destructor Documentation

◆ xml_allocator()

xml_allocator::xml_allocator ( xml_memory_page root)
inline

Definition at line 516 of file pugixml.cpp.

Member Function Documentation

◆ allocate_memory()

void* xml_allocator::allocate_memory ( size_t  size,
xml_memory_page *&  out_page 
)
inline

◆ allocate_memory_oob()

PUGI__FN_NO_INLINE void * xml_allocator::allocate_memory_oob ( size_t  size,
xml_memory_page *&  out_page 
)

Definition at line 713 of file pugixml.cpp.

References xml_memory_page::busy_size, xml_memory_page::next, carla::client::operator &(), xml_memory_page::prev, PUGI__FN, PUGI__FN_NO_INLINE, PUGI__NS_BEGIN, PUGI__NS_END, PUGI__STATIC_ASSERT, PUGI__UNLIKELY, xml_memory_block_alignment, and xml_memory_page_size.

+ Here is the call graph for this function:

◆ allocate_object()

void* xml_allocator::allocate_object ( size_t  size,
xml_memory_page *&  out_page 
)
inline

Definition at line 593 of file pugixml.cpp.

Referenced by allocate_attribute(), and allocate_node().

+ Here is the caller graph for this function:

◆ allocate_page()

xml_memory_page* xml_allocator::allocate_page ( size_t  data_size)
inline

Definition at line 523 of file pugixml.cpp.

References xml_memory_management_function_storage< T >::allocate, xml_memory_page::allocator, and xml_memory_page::construct().

+ Here is the call graph for this function:

◆ allocate_string()

char_t* xml_allocator::allocate_string ( size_t  length)
inline

Definition at line 643 of file pugixml.cpp.

References xml_memory_page::busy_size, xml_memory_string_header::full_size, xml_memory_string_header::page_offset, PUGI__STATIC_ASSERT, xml_memory_block_alignment, and xml_memory_page_size.

Referenced by strcpy_insitu().

+ Here is the caller graph for this function:

◆ deallocate_memory()

void xml_allocator::deallocate_memory ( void *  ptr,
size_t  size,
xml_memory_page page 
)
inline

Definition at line 599 of file pugixml.cpp.

References xml_memory_page::busy_size, xml_memory_page::freed_size, xml_memory_page::next, and xml_memory_page::prev.

Referenced by destroy_attribute(), and destroy_node().

+ Here is the caller graph for this function:

◆ deallocate_page()

static void xml_allocator::deallocate_page ( xml_memory_page page)
inlinestatic

◆ deallocate_string()

void xml_allocator::deallocate_string ( char_t *  string)
inline

Definition at line 677 of file pugixml.cpp.

References xml_memory_string_header::full_size, xml_memory_string_header::page_offset, and xml_memory_block_alignment.

Referenced by destroy_attribute(), destroy_node(), and strcpy_insitu().

+ Here is the caller graph for this function:

◆ reserve()

bool xml_allocator::reserve ( )
inline

Definition at line 696 of file pugixml.cpp.

Referenced by append_new_attribute(), append_new_node(), and strcpy_insitu().

+ Here is the caller graph for this function:

Member Data Documentation

◆ _busy_size

size_t xml_allocator::_busy_size

Definition at line 706 of file pugixml.cpp.

◆ _root

xml_memory_page* xml_allocator::_root

Definition at line 705 of file pugixml.cpp.


The documentation for this struct was generated from the following file: