8#ifndef MFRAME_C045F3C4_B727_4170_9124_44EFD0DADB46
9#define MFRAME_C045F3C4_B727_4170_9124_44EFD0DADB46
16#include "./../lang/Memory.h"
17#include "./../sys/Allocator.h"
18#include "./../util/Collection.h"
19#include "./../util/Iterator.h"
153 virtual int size(
void)
const override;
175 virtual bool free(
void* ptr,
int size = 0)
override;
存儲資料的類別,提供動態記憶體管理功能。
Definition Memory.h:44
物件基底類別
Definition Object.h:63
堆疊式記憶體分配器
Definition Stacker.h:45
virtual ufm::util::Iterator< void * > end(void) override
返回一個迭代器,用於遍歷集合的結尾
uint32 vMask
對齊遮罩,用於記憶體對齊
Definition Stacker.h:59
ufm::lang::Memory vMemory
用於堆疊分配的記憶體空間
Definition Stacker.h:50
virtual bool isEmpty(void) const override
如果此集合不包含元素,則返回true。
virtual void forEach(ufm::func::Consumer< void *& > &action) override
遍歷集合中所有元素,對每個元素執行指定操作。 若所有元素處理完畢或操作中發生異常則停止。
virtual ~Stacker(void) override
解構 Stacker 物件
virtual int getFree(void) override
取得剩餘的可用記憶體數量
Stacker(ufm::lang::Memory memory) noexcept
建構一個新的 Stacker 物件
virtual void * alloc(int size) override
分配指定大小的記憶體
virtual ufm::util::Iterator< void * > begin(void) override
返回一個迭代器,用於遍歷集合中的元素
Stacker(void *buffer, int size)
建構一個新的 Stacker 物件
Definition Stacker.h:76
virtual void clear(void) override
從此集合中刪除所有元素(可選操作)。此方法返回後,集合將為空。
virtual int getTotal(void) override
取得總記憶體大小
static Stacker * construct(void *pointer, int size)
在指定的記憶體區域上建構 Stacker 物件
virtual int size(void) const override
返回此集合中的元素數。
virtual bool free(void *ptr, int size=0) override
釋放先前分配的記憶體
uint8 * vStackPointer
堆疊指針,指向下一個可分配的記憶體位置
Definition Stacker.h:54
virtual int nextIndex(int index) const override
返回當前索引的下一個有效索引。
virtual void ** elementAt(int index) const override
獲取集合中指定索引處的元素。
virtual ufm::lang::Memory allocMemory(int size)
分配指定大小的記憶體並返回其 Memory 封裝
[Class] 迭代器介面
Definition Iterator.h:42
系統功能相關的命名空間
Definition Object.h:31
[Interface] 消費者函數式介面模板
Definition Consumer.h:43
[Interface] 記憶體分配器介面
Definition Allocator.h:38
[Interface] 集合介面
Definition Collection.h:46