|
|
| MemoryPage (void *ptr) |
| | Free bits to use in the future.
|
| |
|
void | write_block_idx (uint32_t blockIdx, uint32_t value) |
| |
|
uint8_t | read_block_idx (uint32_t blockIdx) const |
| |
|
GAIA_NODISCARD void * | alloc_block () |
| | Allocate a new block for this page.
|
| |
|
void | free_block (void *pBlock) |
| | Release the block allocated by this page.
|
| |
|
GAIA_NODISCARD uint32_t | used_blocks_cnt () const |
| |
|
GAIA_NODISCARD bool | full () const |
| |
|
GAIA_NODISCARD bool | empty () const |
| |
|
fwd_llist_link< MemoryPage< T, RequestedBlockSize > > & | get_fwd_llist_link () |
| |
|
const fwd_llist_link< MemoryPage< T, RequestedBlockSize > > & | get_fwd_llist_link () const |
| |
|
|
static constexpr uint32_t | next_multiple_of_alignment (uint32_t num) |
| |
|
static constexpr uint32_t | calculate_block_size () |
| |
|
|
BlockArray | m_blocks |
| | Implicit list of blocks.
|
| |
|
uint32_t | m_blockCnt: NBlocks_Bits |
| | Number of blocks in the block array.
|
| |
|
uint32_t | m_usedBlocks: NBlocks_Bits |
| | Number of used blocks out of NBlocks.
|
| |
|
uint32_t | m_nextFreeBlock: NBlocks_Bits |
| | Index of the next block to recycle.
|
| |
|
uint32_t | m_freeBlocks: NBlocks_Bits |
| | Number of blocks to recycle.
|
| |
|
fwd_llist_link< MemoryPage< T, RequestedBlockSize > > | fwd_link_GAIA |
| |
|
|
static constexpr uint32_t | MemoryBlockBytes = calculate_block_size() |
| |
|
static constexpr uint16_t | NBlocks = 48 |
| |
|
static constexpr uint16_t | NBlocks_Bits = (uint16_t)core::count_bits(NBlocks) |
| |
|
static constexpr uint32_t | InvalidBlockId = NBlocks + 1 |
| |
|
static constexpr uint32_t | BlockArrayBytes = ((uint32_t)NBlocks_Bits * (uint32_t)NBlocks + 7) / 8 |
| |
The documentation for this struct was generated from the following file: