gehe zur Dokumentation dieser Datei00001
00023 #ifndef mhARRAY_H
00024 #define mhARRAY_H
00025
00026 #include "wx/dynarray.h"
00027
00028 #define DEF_MHARRAY(T, name, baseType) \
00029 class name \
00030 { \
00031 public: \
00032 baseType data; \
00033 name(int WXUNUSED(i), int WXUNUSED(j), int WXUNUSED(k)) {}; \
00034 ~name() {}; \
00035 size_t GetItemsInContainer() const { return data.GetCount(); } \
00036 void Flush() { data.Clear(); } \
00037 void Add(T t) { data.Add(t); } \
00038 T& operator[](size_t uiIndex) const { return data[uiIndex]; } \
00039 void Destroy(size_t uiIndex) { data.RemoveAt(uiIndex); } \
00040 void AddAt(T t, size_t uiIndex) { data.Insert(t, uiIndex); } \
00041 void RemoveEntry(size_t uiIndex) { data.RemoveAt(uiIndex); } \
00042 }; \
00043
00044
00045
00046 #define DEF_MHARRAYPTR(T, name, baseType) \
00047 class name \
00048 { \
00049 public: \
00050 baseType data; \
00051 name(int WXUNUSED(i), int WXUNUSED(j), int WXUNUSED(k)) {}; \
00052 ~name() {}; \
00053 size_t GetItemsInContainer() const { return data.GetCount(); } \
00054 void Add(T t) { data.Add(new T(t)); } \
00055 void Flush() { data.Clear(); } \
00056 void RemoveEntry(size_t i) { data.RemoveAt(i); } \
00057 T& operator[](size_t uiIndex) const { return *(data[uiIndex]); }\
00058 void Destroy(size_t uiIndex) { data.RemoveAt(uiIndex); } \
00059 void AddAt(T t, size_t uiIndex) { data.Insert(new T(t), uiIndex); } \
00060 }; \
00061
00062 #define DEF_STACK(T, name, baseType) \
00063 class name \
00064 { \
00065 public: \
00066 baseType data; \
00067 name() {}; \
00068 name(int WXUNUSED(i), int WXUNUSED(j), int WXUNUSED(k)) {}; \
00069 ~name() {}; \
00070 void Push(T t) { data.Add(t); } \
00071 T Pop() { T h = data.Last(); data.RemoveAt(data.GetCount()-1); return h; } \
00072 bool IsEmpty() const { return data.GetCount() == 0; } \
00073 T Top() const { return data.Last(); } \
00074 }; \
00075
00076 #endif
00077
00078