|
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 (orxU32 _u32Count, 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_FreeAtIndex (orxBANK *_pstBank, orxU32 _u32Index) |
|
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 () |
|
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.
#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.
Allocates a new cell from the bank
- Parameters
-
[in] | _pstBank | Concerned bank |
- Returns
- 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
- Parameters
-
[in] | _pstBank | Concerned bank |
[out] | _pu32ItemIndex | Will be set with the allocated item index |
[out] | _ppPrevious | If non-null, will contain previous neighbor if found |
- Returns
- a new cell of memory (orxNULL if no allocation possible)
Frees all allocated cell from a bank
- Parameters
-
[in] | _pstBank | Concerned bank |
Compacts a bank by removing all its trailing unused segments
- Parameters
-
[in] | _pstBank | Concerned bank |
Compacts all banks by removing all their unused segments
Creates a memory bank
- Parameters
-
[in] | _u32Count | Number of cells per segments |
[in] | _u32Size | Size of a cell |
[in] | _u32Flags | Bank flags |
[in] | _eMemType | Memory type |
- Returns
- orxBANK / orxNULL
Deletes a bank
- Parameters
-
[in] | _pstBank | Concerned bank |
Exits from the bank module
Frees an allocated cell
- Parameters
-
[in] | _pstBank | Concerned bank |
[in] | _pCell | Pointer to the cell to free |
Frees an allocated cell at a given index
- Parameters
-
[in] | _pstBank | Concerned bank |
[in] | _u32Index | Index of the cell to free |
Gets the cell at given index, orxNULL is the cell isn't allocated
- Parameters
-
[in] | _pstBank | Concerned memory bank |
[in] | _u32Index | Index of the cell to retrieve |
- Returns
- The cell at the given index if allocated, orxNULL otherwise
Gets the bank allocated cell count
- Parameters
-
[in] | _pstBank | Concerned bank |
- Returns
- Number of allocated cells
Gets the cell's index
- Parameters
-
[in] | _pstBank | Concerned memory bank |
[in] | _pCell | Cell of which we want the index |
- Returns
- The index of the given cell
Gets the next cell
- Parameters
-
[in] | _pstBank | Concerned bank |
[in] | _pCell | Pointer to the current cell of memory, orxNULL to get the first one |
- Returns
- The next cell if found, orxNULL otherwise
Inits the bank Module
- Returns
- orxSTATUS_SUCCESS / orxSTATUS_FAILURE