orx  1.10
Portable Game Engine


#define orxBANK_KU32_FLAG_NONE   0x00000000
#define orxBANK_KU32_FLAG_NOT_EXPANDABLE   0x00000001


typedef struct __orxBANK_t orxBANK


orxDLLAPI void *orxFASTCALL orxBank_Allocate (orxBANK *_pstBank)
orxDLLAPI void *orxFASTCALL orxBank_AllocateIndexed (orxBANK *_pstBank, orxU32 *_pu32ItemIndex, void **_ppPrevious)
orxDLLAPI void orxFASTCALL orxBank_Clear (orxBANK *_pstBank)
orxDLLAPI void orxFASTCALL orxBank_Compact (orxBANK *_pstBank)
orxDLLAPI void orxFASTCALL orxBank_CompactAll ()
orxDLLAPI orxBANK *orxFASTCALL orxBank_Create (orxU16 _u16NbElem, orxU32 _u32Size, orxU32 _u32Flags, orxMEMORY_TYPE _eMemType)
orxDLLAPI void orxFASTCALL orxBank_Delete (orxBANK *_pstBank)
orxDLLAPI void orxFASTCALL orxBank_Exit ()
orxDLLAPI void orxFASTCALL orxBank_Free (orxBANK *_pstBank, void *_pCell)
orxDLLAPI void *orxFASTCALL orxBank_GetAtIndex (const orxBANK *_pstBank, orxU32 _u32Index)
orxDLLAPI orxU32 orxFASTCALL orxBank_GetCount (const orxBANK *_pstBank)
orxDLLAPI orxU32 orxFASTCALL orxBank_GetIndex (const orxBANK *_pstBank, const void *_pCell)
orxDLLAPI void *orxFASTCALL orxBank_GetNext (const orxBANK *_pstBank, const void *_pCell)
orxDLLAPI orxSTATUS orxFASTCALL orxBank_Init ()
orxDLLAPI void orxFASTCALL orxBank_Setup ()

Detailed Description

Bank module Bank are used to allocate a portion of memory. Applications can get cell from this memory and use it. If the number of allocations requests become bigger than the bank size, a new segment of memory is automatically allocated. Memory bank can be used to try to reduce memory fragmentation.

Macro Definition Documentation

#define orxBANK_KU32_FLAG_NONE   0x00000000

No flags (default behaviour)

Definition at line 59 of file orxBank.h.

#define orxBANK_KU32_FLAG_NOT_EXPANDABLE   0x00000001

The bank will not be expandable

Definition at line 60 of file orxBank.h.

Typedef Documentation

typedef struct __orxBANK_t orxBANK

Definition at line 56 of file orxBank.h.

Function Documentation

orxDLLAPI void* orxFASTCALL orxBank_Allocate ( orxBANK _pstBank)

Allocates a new cell from the bank

[in]_pstBankPointer on the memory bank to use
a new cell of memory (orxNULL if no allocation possible)
orxDLLAPI void* orxFASTCALL orxBank_AllocateIndexed ( orxBANK _pstBank,
orxU32 *  _pu32ItemIndex,
void **  _ppPrevious 

Allocates a new cell from the bank and returns its index

[in]_pstBankPointer on the memory bank to use
[out]_pu32ItemIndexWill be set with the allocated item index
[out]_ppPreviousIf non-null, will contain previous neighbor if found
a new cell of memory (orxNULL if no allocation possible)
orxDLLAPI void orxFASTCALL orxBank_Clear ( orxBANK _pstBank)

Frees all allocated cell from a bank

[in]_pstBankBank of memory to clear
orxDLLAPI void orxFASTCALL orxBank_Compact ( orxBANK _pstBank)

Compacts a bank by removing all its unused segments

[in]_pstBankBank of memory to compact
orxDLLAPI void orxFASTCALL orxBank_CompactAll ( )

Compacts all banks by removing all their unused segments

orxDLLAPI orxBANK* orxFASTCALL orxBank_Create ( orxU16  _u16NbElem,
orxU32  _u32Size,
orxU32  _u32Flags,
orxMEMORY_TYPE  _eMemType 

Creates a new bank in memory and returns a pointer on it

[in]_u16NbElemNumber of elements per segments
[in]_u32SizeSize of an element
[in]_u32FlagsFlags set for this bank
[in]_eMemTypeMemory type where the data will be allocated
returns a pointer on the memory bank
orxDLLAPI void orxFASTCALL orxBank_Delete ( orxBANK _pstBank)

Frees a portion of memory allocated with orxMemory_Allocate

[in]_pstBankPointer on the memory bank allocated by orx
orxDLLAPI void orxFASTCALL orxBank_Exit ( )

Exits from the bank module

orxDLLAPI void orxFASTCALL orxBank_Free ( orxBANK _pstBank,
void _pCell 

Frees an allocated cell

[in]_pstBankBank of memory from where _pCell has been allocated
[in]_pCellPointer on the cell to free
a new cell of memory (orxNULL if no allocation possible)
orxDLLAPI void* orxFASTCALL orxBank_GetAtIndex ( const orxBANK _pstBank,
orxU32  _u32Index 

Gets the cell at given index, orxNULL is the cell isn't allocated

[in]_pstBankConcerned memory bank
[in]_u32IndexIndex of the cell to retrieve
The cell at the given index if allocated, orxNULL otherwise
orxDLLAPI orxU32 orxFASTCALL orxBank_GetCount ( const orxBANK _pstBank)

Gets the bank allocated cell count

[in]_pstBankConcerned bank
Number of allocated cells
orxDLLAPI orxU32 orxFASTCALL orxBank_GetIndex ( const orxBANK _pstBank,
const void _pCell 

Gets the cell's index

[in]_pstBankConcerned memory bank
[in]_pCellCell of which we want the index
The index of the given cell
orxDLLAPI void* orxFASTCALL orxBank_GetNext ( const orxBANK _pstBank,
const void _pCell 

Gets the next cell

[in]_pstBankBank of memory from where _pCell has been allocated
[in]_pCellPointer on the current cell of memory
The next cell. If _pCell is orxNULL, the first cell will be returned. Returns orxNULL when no more cell can be returned.
orxDLLAPI orxSTATUS orxFASTCALL orxBank_Init ( )

Inits the bank Module

orxDLLAPI void orxFASTCALL orxBank_Setup ( )

Setups the bank module

Generated for orx by doxygen 1.8.11