11 #include "RNPlatform/Inc/MemoryTracking.h"
12 #ifndef __REGISTRYMANAGERLIST_H__
13 #define __REGISTRYMANAGERLIST_H__
19 namespace RNReplicaNet
40 mDirection = kUndefined;
56 mItems.push_back(item);
65 mItems.push_front(item);
74 typename std::list<T *>::iterator tst,ten;
84 if (mDirection != kUndefined)
88 if (mDirection == kForward)
95 if (mDirection == kBackward)
116 assert(mDirection != kUndefined &&
"RegistryManagerList::RemoveItem() used when BeginIterate() or EndIterate() not used or Iterate() reached the ned of the list");
118 typename std::list<T *>::iterator tst;
120 if (mDirection == kForward)
129 if (mDirection == kBackward)
142 mDirection = kForward;
151 mDirection = kBackward;
161 assert(mDirection != kUndefined &&
"RegistryManagerList::Iterate() used when BeginIterate() or EndIterate() not used or Iterate() reached the end of the list");
163 if (mDirection == kForward)
165 if (st != mItems.end())
173 if (mDirection == kBackward)
175 if (st != mItems.begin())
184 mDirection = kUndefined;
189 bool IsEmpty(
void)
const
191 return mItems.empty();
196 std::list<T *> mItems;
197 typename std::list<T *>::iterator st;
198 Direction mDirection;
void RemoveItem(void)
Definition: RegistryManagerList.h:114
void AddItem(T *item)
Definition: RegistryManagerList.h:54
void RemoveItem(T *item)
Definition: RegistryManagerList.h:72
virtual ~RegistryManagerList()
Definition: RegistryManagerList.h:46
void AddItemHead(T *item)
Definition: RegistryManagerList.h:63
RegistryManagerList()
Definition: RegistryManagerList.h:38
void BeginIterate(void)
Definition: RegistryManagerList.h:140
Definition: RegistryManagerList.h:25
void EndIterate(void)
Definition: RegistryManagerList.h:149
T * Iterate(void)
Definition: RegistryManagerList.h:159