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) {
224 void AddVoidClass(
void *apClass) {
237 return mvVector.
size();
T * iterator
Definition: array.h:54
iterator begin()
Definition: array.h:375
iterator begin()
Definition: list.h:266
size_type size() const
Definition: list.h:237
void clear()
Definition: list.h:245
iterator erase(iterator pos)
Definition: list.h:112
void push_back(const t_T &element)
Definition: list.h:174
iterator end()
Definition: list.h:279
Definition: Container.h:219
Definition: Container.h:179
Definition: Container.h:121
Definition: Container.h:83
Definition: SerializeClass.h:284
Definition: Container.h:54
Definition: Container.h:40
Definition: Container.h:71
Definition: list_intern.h:54