mFrame
載入中...
搜尋中...
無符合項目
Pool.h
1
8#ifndef MFRAME_B4F9BAD4_2126_4397_B252_0E3E47A7DA8F
9#define MFRAME_B4F9BAD4_2126_4397_B252_0E3E47A7DA8F
10
11/* ***************************************************************************************
12 * Include
13 */
14
15//----------------------------------------------------------------------------------------
16
17//----------------------------------------------------------------------------------------
18#include "./../func/Consumer.h"
19#include "./../lang/Memory.h"
20#include "./../util/Collection.h"
21
22/* ***************************************************************************************
23 * Namespace
24 */
25namespace ufm::util {
26 struct Pool;
27} // namespace ufm::util
28
29/* ***************************************************************************************
30 * Class/Interface/Struct
31 */
32
42struct ufm::util::Pool : public ufm::util::Collection<void* const> {
43 /* *************************************************************************************
44 * Method
45 */
46
52 virtual uint32 elementSize(void) const abstract;
53
59 virtual uint32 capacity(void) const abstract;
60
66 virtual void* alloc(void) abstract;
67
73 virtual ufm::lang::Memory allocMemory(void) abstract;
74
81 virtual void* add(const void* elenemt) abstract;
82
90 virtual bool remove(void* element) abstract;
91};
92
93/* ***************************************************************************************
94 * End of file
95 */
96
97#endif /* MFRAME_B4F9BAD4_2126_4397_B252_0E3E47A7DA8F */
存儲資料的類別,提供動態記憶體管理功能。
Definition Memory.h:44
Definition Iterable.h:28
[Interface] 集合介面
Definition Collection.h:46
[Interface] 記憶體池介面
Definition Pool.h:42
virtual void * alloc(void) override
從記憶體池中分配一個元素
virtual void * add(const void *elenemt) override
從記憶體池中分配記憶體並複製元素內容
virtual uint32 capacity(void) const override
返回此記憶體池的容量
virtual uint32 elementSize(void) const override
返回此記憶體池中元素的大小(以位元組為單位)
virtual ufm::lang::Memory allocMemory(void) override
從記憶體池中分配一個記憶體區塊並封裝為 Memory 對象
virtual bool remove(void *element) override
釋放元素佔用的記憶體,將其歸還給記憶體池