mFrame
載入中...
搜尋中...
無符合項目
ufm::util::Pool 結構 參考文件abstract

[Interface] 記憶體池介面 更多...

#include <Pool.h>

類別ufm::util::Pool的繼承圖:
ufm::util::Collection< E > ufm::lang::Iterable< E > ufm::util::Container

公開方法(Public Methods)

virtual uint32 elementSize (void) const override
 返回此記憶體池中元素的大小(以位元組為單位)
 
virtual uint32 capacity (void) const override
 返回此記憶體池的容量
 
virtual void * alloc (void) override
 從記憶體池中分配一個元素
 
virtual ufm::lang::Memory allocMemory (void) override
 從記憶體池中分配一個記憶體區塊並封裝為 Memory 對象
 
virtual void * add (const void *elenemt) override
 從記憶體池中分配記憶體並複製元素內容
 
virtual bool remove (void *element) override
 釋放元素佔用的記憶體,將其歸還給記憶體池
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Iterable< E >
virtual void forEach (ufm::func::Consumer< E & > &action) override
 遍歷集合中所有元素,對每個元素執行指定操作。 若所有元素處理完畢或操作中發生異常則停止。
 
virtual E * elementAt (int index) const override
 獲取集合中指定索引處的元素。
 
virtual int nextIndex (int index) const override
 返回當前索引的下一個有效索引。
 
virtual ufm::util::Iterator< E > begin (void) override
 返回一個迭代器,用於遍歷集合中的元素
 
virtual ufm::util::Iterator< E > end (void) override
 返回一個迭代器,用於遍歷集合的結尾
 
- 公開方法(Public Methods) 繼承自 ufm::util::Container
virtual void clear (void) override
 從此集合中刪除所有元素(可選操作)。此方法返回後,集合將為空。
 
virtual bool isEmpty (void) const override
 如果此集合不包含元素,則返回true。
 
virtual int size (void) const override
 返回此集合中的元素數。
 

詳細描述

[Interface] 記憶體池介面

Pool 類別提供一種機制來分配和釋放固定大小的記憶體塊, 避免動態記憶體分配的開銷。繼承自 Collection<void* const> 介面, 適合需要頻繁分配釋放同等大小記憶體的場景。

1.0.0

函式成員說明文件

◆ add()

virtual void * ufm::util::Pool::add ( const void * elenemt)
pure virtual

從記憶體池中分配記憶體並複製元素內容

參數
elenemt要複製的元素指針
傳回值
void* 如果記憶體池未滿,則返回複製後的元素指針;否則返回空指針

◆ alloc()

virtual void * ufm::util::Pool::alloc ( void )
pure virtual

從記憶體池中分配一個元素

傳回值
void* 如果記憶體池未滿,則返回元素指針;否則返回空指針

◆ allocMemory()

virtual ufm::lang::Memory ufm::util::Pool::allocMemory ( void )
pure virtual

從記憶體池中分配一個記憶體區塊並封裝為 Memory 對象

傳回值
ufm::lang::Memory 包含分配記憶體的 Memory 對象

◆ capacity()

virtual uint32 ufm::util::Pool::capacity ( void ) const
pure virtual

返回此記憶體池的容量

傳回值
uint32 記憶體池的總容量(可容納的元素數量)

◆ elementSize()

virtual uint32 ufm::util::Pool::elementSize ( void ) const
pure virtual

返回此記憶體池中元素的大小(以位元組為單位)

傳回值
uint32 元素大小(位元組)

◆ remove()

virtual bool ufm::util::Pool::remove ( void * element)
pure virtual

釋放元素佔用的記憶體,將其歸還給記憶體池

參數
element要釋放的元素指針
傳回值
true 如果成功找到並移除該元素
false 如果元素不在此記憶體池中

此結構(structure) 文件是由下列檔案中產生: