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 mframe::util {
26 struct Pool;
27} // namespace mframe::util
28
29/* ***************************************************************************************
30 * Class/Interface/Struct
31 */
32struct mframe::util::Pool : public mframe::util::Collection<void* const> {
33 /* *************************************************************************************
34 * Method
35 */
36
42 virtual uint32 elementSize(void) const abstract;
43
49 virtual uint32 capacity(void) const abstract;
50
56 virtual void* alloc(void) abstract;
57
63 virtual mframe::lang::Memory allocMemory(void) abstract;
64
71 virtual void* add(const void* elenemt) abstract;
72
80 virtual bool remove(void* element) abstract;
81};
82
83/* ***************************************************************************************
84 * End of file
85 */
86
87#endif /* MFRAME_B4F9BAD4_2126_4397_B252_0E3E47A7DA8F */
Definition Memory.h:29
Definition Array.h:22
Definition Collection.h:32
Definition Pool.h:32
virtual bool remove(void *element) override
Free this element memory.
virtual void * add(const void *elenemt) override
Alloc memory from pool and copy element.
virtual uint32 capacity(void) const override
Returns this pool's capacity.
virtual mframe::lang::Memory allocMemory(void) override
virtual uint32 elementSize(void) const override
Returns this pool element size of byte.
virtual void * alloc(void) override
Alloc memory from pool.