mFrame
載入中...
搜尋中...
無符合項目
PArray.h
1
7#ifndef MFRAME_0E2A0367_7E28_4A65_A6DE_C5C912A9EE71
8#define MFRAME_0E2A0367_7E28_4A65_A6DE_C5C912A9EE71
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15
16//----------------------------------------------------------------------------------------
17#include "./../lang/Memory.h"
18#include "./../util/Array.h"
19
20/* ***************************************************************************************
21 * Namespace
22 */
23namespace mframe::util {
24 class PArray;
25}
26
27/* ***************************************************************************************
28 * Class/Interface/Struct/Enum
29 */
31 public mframe::util::Array<void*> {
32 /* *************************************************************************************
33 * Variable
34 */
35 protected:
37 int vLength;
38 int vElementSize;
39
40 /* *************************************************************************************
41 * Abstract Method
42 */
43
44 /* *************************************************************************************
45 * Construct Method
46 */
47 public:
53
58 PArray(int length, int elementSize);
59
64 virtual ~PArray(void) override;
65
66 /* *************************************************************************************
67 * Operator Method
68 */
69 public:
76 template <typename E>
77 inline operator const Array<E>&(void) const {
78 const Array<>* src = this;
79 return *reinterpret_cast<const Array<E>*>(src);
80 }
81
87 template <typename E>
88 inline operator Array<E>&(void) {
89 Array<>* src = this;
90 return *reinterpret_cast<Array<E>*>(src);
91 }
92
93 /* *************************************************************************************
94 * Public Method <Override> - mframe::util::Array<void*>
95 */
96 public:
97 virtual int length(void) const override;
98
99 virtual int indexOf(void*& element) const override;
100
101 virtual void*& get(int index) const override;
102
103 virtual bool set(void* const& e, int index) override;
104
105 virtual int elementSize(void) const override;
106
107 /* *************************************************************************************
108 * Public Method
109 */
110
111 /* *************************************************************************************
112 * Protected Method
113 */
114
115 /* *************************************************************************************
116 * Protected Method
117 */
118
119 /* *************************************************************************************
120 * Private Method
121 */
122
123 /* *************************************************************************************
124 * Static Variable
125 */
126
127 /* *************************************************************************************
128 * Static Method
129 */
130};
131
132/* ***************************************************************************************
133 * End of file
134 */
135
136#endif /* MFRAME_0E2A0367_7E28_4A65_A6DE_C5C912A9EE71 */
Definition Memory.h:29
Definition Object.h:34
Definition PArray.h:31
virtual void *& get(int index) const override
virtual int indexOf(void *&element) const override
返回此列表中指定元素的第一次出現的索引,如果此列表不包含元素,則返回-1。
virtual int elementSize(void) const override
返回陣列元素的尺寸大小。
virtual int length(void) const override
返回此陣列的長度。
virtual bool set(void *const &e, int index) override
virtual ~PArray(void) override
Destroy the object.
PArray(const mframe::lang::Memory &memory, int elementSize)
Construct a new object.
Definition Array.h:22
Definition Array.h:31