mFrame
載入中...
搜尋中...
無符合項目
Stacker.h
1
8#ifndef MFRAME_C045F3C4_B727_4170_9124_44EFD0DADB46
9#define MFRAME_C045F3C4_B727_4170_9124_44EFD0DADB46
10
11/* ***************************************************************************************
12 * Include
13 */
14
15//----------------------------------------------------------------------------------------
16#include "./../lang/Memory.h"
17#include "./../sys/Allocator.h"
18#include "./../util/Collection.h"
19
20//----------------------------------------------------------------------------------------
21
22/* ***************************************************************************************
23 * Namespace
24 */
25namespace mframe::sys {
26 class Stacker;
27} // namespace mframe::sys
28
29/* ***************************************************************************************
30 * Class/Interface/Struct
31 */
33 public mframe::util::Collection<void* const>,
35 /* *************************************************************************************
36 * Variable
37 */
38 protected:
39 uint8* mStackPointer;
40 uint32 vMask;
41
42 /* *************************************************************************************
43 * Abstract Method
44 */
45
46 /* *************************************************************************************
47 * Construct Method
48 */
49 public:
56 Stacker(void* buffer, int size);
57
64
69 virtual ~Stacker(void) override;
70
71 /* *************************************************************************************
72 * Operator Method
73 */
74
75 /* *************************************************************************************
76 * Public Method <Override> mframe::util::Iterable<mframe::lang::Data*>
77 */
78 public:
79 virtual void forEach(mframe::func::Consumer<void* const&>& action) override;
80
81 /* *************************************************************************************
82 * Public Method <Override> mframe::util::Collection<mframe::lang::Memory>
83 */
84 public:
85 virtual void clear(void) override;
86
87 virtual bool isEmpty(void) const override;
88
89 virtual int size(void) const override;
90
91 /* *************************************************************************************
92 * Public Method <Override> mframe::sys::Allocator
93 */
94 public:
95 virtual void* alloc(int size) override;
96
97 virtual bool free(void* ptr, int size = 0) override;
98
99 virtual int getFree(void) override;
100
101 /* *************************************************************************************
102 * Public Method
103 */
104 public:
112
113 /* *************************************************************************************
114 * Protected Method
115 */
116
117 /* *************************************************************************************
118 * Private Method
119 */
120
121 /* *************************************************************************************
122 * Static Variable
123 */
124
125 /* *************************************************************************************
126 * Static Method
127 */
128 public:
129 static Stacker* construct(void* pointer, int size);
130};
131
132/* ***************************************************************************************
133 * End of file
134 */
135
136#endif /* MFRAME_C045F3C4_B727_4170_9124_44EFD0DADB46 */
Definition Memory.h:29
E * pointer(void) const
模板方法,取得內部指標並轉換為指定型態(不指定偏移)
Definition Pointer.h:409
Definition Stacker.h:34
virtual void * alloc(int size) override
virtual bool isEmpty(void) const override
如果此集合不包含元素,則返回true。
Stacker(void *buffer, int size)
Construct a new Stacker object.
virtual mframe::lang::Memory allocMemory(int size)
virtual void clear(void) override
從此集合中刪除所有元素(可選操作)。此方法返回後,集合將為空。
virtual bool free(void *ptr, int size=0) override
Stacker(const mframe::lang::Memory &memory)
Construct a new Stacker object.
virtual ~Stacker(void) override
Destroy the Stacker object.
virtual int getFree(void) override
Get the Free object.
virtual int size(void) const override
返回此集合中的元素數。
Definition Object.h:27
Definition Consumer.h:31
Definition Allocator.h:30
Definition Collection.h:32