orx  1.14
Portable Game Engine
OrxMemory

Macros

#define orxMEMORY_BARRIER()
 
#define orxMEMORY_TRACK(TYPE, SIZE, ALLOCATE)
 

Enumerations

enum  orxMEMORY_TYPE {
  orxMEMORY_TYPE_MAIN = 0, orxMEMORY_TYPE_AUDIO, orxMEMORY_TYPE_CONFIG, orxMEMORY_TYPE_DEBUG,
  orxMEMORY_TYPE_PHYSICS, orxMEMORY_TYPE_SYSTEM, orxMEMORY_TYPE_TEMP, orxMEMORY_TYPE_TEXT,
  orxMEMORY_TYPE_VIDEO, orxMEMORY_TYPE_NUMBER, orxMEMORY_TYPE_NONE = orxENUM_NONE
}
 

Functions

orxDLLAPI void *orxFASTCALL orxMemory_Allocate (orxU32 _u32Size, orxMEMORY_TYPE _eMemType)
 
static orxINLINE orxU32 orxMemory_Compare (const void *_pMem1, const void *_pMem2, orxU32 _u32Size)
 
static orxINLINE voidorxMemory_Copy (void *_pDest, const void *_pSrc, orxU32 _u32Size)
 
orxDLLAPI void orxFASTCALL orxMemory_Exit ()
 
orxDLLAPI void orxFASTCALL orxMemory_Free (void *_pMem)
 
orxDLLAPI orxU32 orxFASTCALL orxMemory_GetCacheLineSize ()
 
orxDLLAPI const orxSTRING orxFASTCALL orxMemory_GetTypeName (orxMEMORY_TYPE _eMemType)
 
orxDLLAPI orxSTATUS orxFASTCALL orxMemory_Init ()
 
static orxINLINE voidorxMemory_Move (void *_pDest, const void *_pSrc, orxU32 _u32Size)
 
orxDLLAPI void *orxFASTCALL orxMemory_Reallocate (void *_pMem, orxU32 _u32Size, orxMEMORY_TYPE _eMemType)
 
static orxINLINE voidorxMemory_Set (void *_pDest, orxU8 _u8Data, orxU32 _u32Size)
 
orxDLLAPI void orxFASTCALL orxMemory_Setup ()
 
static orxINLINE voidorxMemory_Zero (void *_pDest, orxU32 _u32Size)
 

Detailed Description

Memory module Module that handles all low level allocation/free requests

Macro Definition Documentation

#define orxMEMORY_BARRIER ( )

Memory barrier macros

Definition at line 70 of file orxMemory.h.

#define orxMEMORY_TRACK (   TYPE,
  SIZE,
  ALLOCATE 
)

Memory tracking macros

Definition at line 81 of file orxMemory.h.

Enumeration Type Documentation

Memory type

Enumerator
orxMEMORY_TYPE_MAIN 

Main memory type

orxMEMORY_TYPE_AUDIO 

Audio memory type

orxMEMORY_TYPE_CONFIG 

Config memory

orxMEMORY_TYPE_DEBUG 

Debug memory

orxMEMORY_TYPE_PHYSICS 

Physics memory type

orxMEMORY_TYPE_SYSTEM 

System memory type

orxMEMORY_TYPE_TEMP 

Temporary / scratch memory

orxMEMORY_TYPE_TEXT 

Text memory

orxMEMORY_TYPE_VIDEO 

Video memory type

orxMEMORY_TYPE_NUMBER 

Number of memory type

orxMEMORY_TYPE_NONE 

Invalid memory type

Definition at line 87 of file orxMemory.h.

Function Documentation

orxDLLAPI void* orxFASTCALL orxMemory_Allocate ( orxU32  _u32Size,
orxMEMORY_TYPE  _eMemType 
)

Allocates some memory in the system and returns a pointer to it

Parameters
[in]_u32SizeSize of the memory to allocate
[in]_eMemTypeMemory zone where data will be allocated
Returns
returns a pointer to the memory allocated, or orxNULL if an error has occurred
static orxINLINE orxU32 orxMemory_Compare ( const void _pMem1,
const void _pMem2,
orxU32  _u32Size 
)
static

Compares two parts of memory

Parameters
[in]_pMem1First part to test
[in]_pMem2Second part to test
[in]_u32SizeSize of data to test
Returns
returns a value less than, equal to or greater than 0 if the content of _pMem1 is respectively smaller, equal or greater than _pMem2's

Definition at line 181 of file orxMemory.h.

static orxINLINE void* orxMemory_Copy ( void _pDest,
const void _pSrc,
orxU32  _u32Size 
)
static

Copies a part of memory into another one

Parameters
[out]_pDestDestination pointer
[in]_pSrcPointer of memory from where data are read
[in]_u32SizeSize of data
Returns
returns a pointer to _pDest
Note
if _pSrc and _pDest overlap, use orxMemory_Move instead

Definition at line 149 of file orxMemory.h.

orxDLLAPI void orxFASTCALL orxMemory_Exit ( )

Exits from the memory module

orxDLLAPI void orxFASTCALL orxMemory_Free ( void _pMem)

Frees some memory allocated with orxMemory_Allocate

Parameters
[in]_pMemPointer to the memory allocated by orx
orxDLLAPI orxU32 orxFASTCALL orxMemory_GetCacheLineSize ( )

Gets L1 data cache line size

Returns
Cache line size
orxDLLAPI const orxSTRING orxFASTCALL orxMemory_GetTypeName ( orxMEMORY_TYPE  _eMemType)

Gets memory type literal name

Parameters
[in]_eMemTypeConcerned memory type
Returns
Memory type name / orxSTRING_EMPTY
orxDLLAPI orxSTATUS orxFASTCALL orxMemory_Init ( )

Inits the memory module

Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
static orxINLINE void* orxMemory_Move ( void _pDest,
const void _pSrc,
orxU32  _u32Size 
)
static

Moves a part of memory into another one

Parameters
[out]_pDestDestination pointer
[in]_pSrcPointer of memory from where data are read
[in]_u32SizeSize of data
Returns
returns a pointer to _pDest

Definition at line 165 of file orxMemory.h.

orxDLLAPI void* orxFASTCALL orxMemory_Reallocate ( void _pMem,
orxU32  _u32Size,
orxMEMORY_TYPE  _eMemType 
)

Reallocates a previously allocated memory block, with the given new size and returns a pointer to it If possible, it'll keep the current pointer and extend the memory block, if not it'll allocate a new block, copy the data over and deallocates the original block

Parameters
[in]_pMemMemory block to reallocate
[in]_u32SizeSize of the memory to allocate
[in]_eMemTypeMemory zone where data will be allocated
Returns
returns a pointer to the reallocated memory block or orxNULL if an error has occurred
static orxINLINE void* orxMemory_Set ( void _pDest,
orxU8  _u8Data,
orxU32  _u32Size 
)
static

Fills a part of memory with _u32Data

Parameters
[out]_pDestDestination pointer
[in]_u8DataValues of the data that will fill the memory
[in]_u32SizeSize of data
Returns
returns a pointer to _pDest

Definition at line 197 of file orxMemory.h.

orxDLLAPI void orxFASTCALL orxMemory_Setup ( )

Setups the memory module

static orxINLINE void* orxMemory_Zero ( void _pDest,
orxU32  _u32Size 
)
static

Fills a part of memory with zeroes

Parameters
[out]_pDestDestination pointer
[in]_u32SizeSize of data
Returns
returns a pointer to _pDest

Definition at line 211 of file orxMemory.h.


Generated for orx by doxygen 1.8.11