orx  1.11
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 some 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 to 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 to 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 to 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 to the memory bank
orxDLLAPI void orxFASTCALL orxBank_Delete ( orxBANK _pstBank)

Frees some memory allocated with orxMemory_Allocate

[in]_pstBankPointer to 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 to the cell to free
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 to 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