28 #ifndef HPL_CONTAINER_H 29 #define HPL_CONTAINER_H 31 #include "common/array.h" 32 #include "common/list.h" 33 #include "hpl1/engine/system/MemoryManager.h" 34 #include "common/stablemap.h" 47 virtual bool HasNext() = 0;
49 virtual void *NextPtr() = 0;
59 virtual size_t Size() = 0;
60 virtual void Clear() = 0;
63 virtual void AddVoidPtr(
void **apPtr) = 0;
64 virtual void AddVoidClass(
void *apClass) = 0;
74 virtual size_t Size() = 0;
76 virtual void AddVoidPtr(
void *apKey,
void **apClass) = 0;
77 virtual void AddVoidClass(
void *apKey,
void *apClass) = 0;
95 return mIt != mpVec->end();
109 if (mIt != mpVec->end())
110 mIt = mpVec->erase(mIt);
123 void AddVoidPtr(
void **apPtr) {
124 mvVector.push_back(*((T *)apPtr));
126 void AddVoidClass(
void *apClass) {
127 mvVector.push_back(*((T *)apClass));
138 return mvVector.size();
147 void Reserve(
size_t alSize) {
148 mvVector.reserve(alSize);
151 void Resize(
size_t alSize) {
152 mvVector.resize(alSize);
156 mvVector.push_back(aVal);
167 T &operator[](
size_t alX) {
168 return mvVector[alX];
187 mIt = apVec->
begin();
193 return mIt != mpVec->end();
207 if (mIt != mpVec->end())
208 mIt = mpVec->erase(mIt);
221 void AddVoidPtr(
void **apPtr) {
222 mvVector.push_back(*((T *)apPtr));
224 void AddVoidClass(
void *apClass) {
225 mvVector.push_back(*((T *)apClass));
237 return mvVector.size();
246 mvVector.push_back(aVal);
264 #endif // HPL_CONTAINER_H
Definition: Container.h:40
Definition: Container.h:54
iterator begin()
Definition: array.h:374
T * iterator
Definition: array.h:54
Definition: SerializeClass.h:284
iterator begin()
Definition: list.h:227
Definition: Container.h:121
Definition: Container.h:71
Definition: Container.h:219
Definition: list_intern.h:51
Definition: Container.h:83
Definition: Container.h:179