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
85struct ufm::util::Pool : public ufm::util::Collection<void* const> {
86 /* *************************************************************************************
87 * Method
88 */
89
95 virtual uint32 elementSize(void) const abstract;
96
102 virtual uint32 capacity(void) const abstract;
103
109 virtual void* alloc(void) abstract;
110
116 virtual ufm::lang::Memory allocMemory(void) abstract;
117
124 virtual void* add(const void* elenemt) abstract;
125
133 virtual bool remove(void* element) abstract;
134};
135
136/* ***************************************************************************************
137 * End of file
138 */
139
140#endif /* MFRAME_B4F9BAD4_2126_4397_B252_0E3E47A7DA8F */
動態記憶體管理類別
Definition Memory.h:38
Definition Iterable.h:28
集合介面,定義集合層次結構的根介面。
Definition Collection.h:171
記憶體池介面,提供固定大小記憶體塊的分配和釋放。
Definition Pool.h:85
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
釋放元素佔用的記憶體,將其歸還給記憶體池