FBX C++ API Reference
All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FbxBaseAllocator Class Reference

#include <fbxcontainerallocators.h>

Class Description

An allocator class for use as a template parameter to one of the container class (FbxMap, FbxSet, FbxDynamicArray...) must implement these.

Definition at line 23 of file fbxcontainerallocators.h.

Public Member Functions

 FbxBaseAllocator (const size_t pRecordSize)
 The class constructor. More...
 
void Reserve (const size_t)
 This tells the allocator that we are about to call AllocateRecords one or many times to allocate pRecordCount records. More...
 
void * AllocateRecords (const size_t pRecordCount=1)
 Returns a pointer to a uninitialized continuous block of memory able to hold pRecordCount * pRecordSize bytes. More...
 
void FreeMemory (void *pRecord)
 Frees a block of memory returned by AllocateRecords. More...
 
size_t GetRecordSize () const
 

Constructor & Destructor Documentation

◆ FbxBaseAllocator()

FbxBaseAllocator ( const size_t  pRecordSize)
inline

The class constructor.

Parameters
pRecordSizethe size of one record held by the container.
Remarks
The parameter pRecordSize is not necessarily the same size as of the value type, since the container may wrap the value into a private class.

Definition at line 32 of file fbxcontainerallocators.h.

32  :
33  mRecordSize(pRecordSize)
34  {
35  }

Member Function Documentation

◆ Reserve()

void Reserve ( const size_t  )
inline

This tells the allocator that we are about to call AllocateRecords one or many times to allocate pRecordCount records.

Parameters
pRecordCount
Remarks
This gives the allocator a chance to do whatever it deems necessary to optimize subsequent allocations, for example, by preallocating a sufficiently large pool of memory.

Definition at line 44 of file fbxcontainerallocators.h.

45  {
46  // By default, ignore all preallocating requests.
47  }

◆ AllocateRecords()

void* AllocateRecords ( const size_t  pRecordCount = 1)
inline

Returns a pointer to a uninitialized continuous block of memory able to hold pRecordCount * pRecordSize bytes.

Parameters
pRecordCount
Remarks
pRecordSize was defined in the Constructor description, above.

Definition at line 54 of file fbxcontainerallocators.h.

55  {
56  return FbxMalloc(pRecordCount * mRecordSize);
57  }

◆ FreeMemory()

void FreeMemory ( void *  pRecord)
inline

Frees a block of memory returned by AllocateRecords.

Parameters
pRecord

Definition at line 62 of file fbxcontainerallocators.h.

63  {
64  FbxFree(pRecord);
65  }

◆ GetRecordSize()

size_t GetRecordSize ( ) const
inline
Returns
the size of each record allocated.

Definition at line 69 of file fbxcontainerallocators.h.

70  {
71  return mRecordSize;
72  }

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