95 template <
typename Predicate>
100 if (predicate(*it)) {
103 tList.
splice(tList.
end(), *
this, itPrev);
110 template <
typename Predicate>
121template <
typename T,
int I>
163 JUT_ASSERT(541,
p!=NULL);
206 JUT_ASSERT(0x24a,
p!=NULL);
212 JUT_ASSERT(0x2F1,
p!=NULL);
213 return reinterpret_cast<TLinkListNode*
>(
reinterpret_cast<char*
>(
p) - I);
216 JUT_ASSERT(0x2F6,
p!=NULL);
217 return reinterpret_cast<const TLinkListNode*
>(
reinterpret_cast<const char*
>(
p) - I);
220 JUT_ASSERT(0x2FB,
p!=NULL);
221 return reinterpret_cast<T*
>(
reinterpret_cast<char*
>(
p) + I);
224 JUT_ASSERT(0x300,
p!=NULL);
225 return reinterpret_cast<const T*
>(
reinterpret_cast<const char*
>(
p) + I);
250template <
typename T,
int I>
257 while (!this->
empty()) {
258 T* item = &this->
front();
271template <
typename T,
int I>
273 JGADGET_ASSERTWARN(934, empty());
282 operator bool()
const {
return isEnd(); }
299template <
typename Iterator,
typename T>
305 operator bool()
const {
return isEnd(); }
319 :
TEnumerator2<typename T::iterator, typename T::value_type>(param_0.begin(), param_0.
end()) {}
323template <
typename T,
int I>
unsigned long u32
Definition types.h:12
signed long s32
Definition types.h:11
Definition linklist.h:324
TContainerEnumerator_const(const TLinkList< T, I > *param_0)
Definition linklist.h:325
Definition linklist.h:317
TContainerEnumerator(T ¶m_0)
Definition linklist.h:318
Definition linklist.h:300
TEnumerator2(Iterator _current, Iterator _end)
Definition linklist.h:301
Iterator end
Definition linklist.h:313
bool isEnd() const
Definition linklist.h:304
T & operator*()
Definition linklist.h:306
Iterator current
Definition linklist.h:312
Definition linklist.h:277
TEnumerator(T _current, T _end)
Definition linklist.h:278
T operator*()
Definition linklist.h:283
T end
Definition linklist.h:290
bool isEnd() const
Definition linklist.h:281
T current
Definition linklist.h:289
TLinkListNode * mNext
Definition linklist.h:23
TLinkListNode * getPrev() const
Definition linklist.h:20
TLinkListNode * mPrev
Definition linklist.h:24
~TLinkListNode()
Definition linklist.h:17
TLinkListNode * getNext() const
Definition linklist.h:19
TLinkListNode()
Definition linklist.h:12
Definition linklist.h:174
const_iterator & operator--()
Definition linklist.h:184
const_iterator operator++(int)
Definition linklist.h:188
const T * operator->() const
Definition linklist.h:203
friend bool operator!=(const_iterator a, const_iterator b)
Definition linklist.h:201
const_iterator(TNodeLinkList::const_iterator iter)
Definition linklist.h:175
const_iterator & operator++()
Definition linklist.h:180
const T & operator*() const
Definition linklist.h:204
friend bool operator==(const_iterator a, const_iterator b)
Definition linklist.h:198
const_iterator(iterator iter)
Definition linklist.h:177
const_iterator operator--(int)
Definition linklist.h:193
Definition linklist.h:125
friend bool operator!=(iterator a, iterator b)
Definition linklist.h:158
s32 difference_type
Definition linklist.h:167
T * operator->() const
Definition linklist.h:160
iterator operator--(int)
Definition linklist.h:150
iterator(TNodeLinkList::iterator iter)
Definition linklist.h:127
iterator & operator++()
Definition linklist.h:137
std::bidirectional_iterator_tag iterator_category
Definition linklist.h:171
iterator operator++(int)
Definition linklist.h:145
T * pointer
Definition linklist.h:169
friend bool operator==(iterator a, iterator b)
Definition linklist.h:155
iterator()
Definition linklist.h:126
iterator & operator--()
Definition linklist.h:141
T & reference
Definition linklist.h:170
T value_type
Definition linklist.h:168
iterator & operator=(const iterator &rhs)
Definition linklist.h:129
T & operator*() const
Definition linklist.h:161
Definition linklist.h:251
virtual T * Do_create()=0
TLinkList< T, I >::iterator Erase_destroy(T *param_0)
Definition linklist.h:264
virtual void Do_destroy(T *)=0
void Clear_destroy()
Definition linklist.h:256
virtual ~TLinkList_factory()=0
Definition linklist.h:272
Definition linklist.h:122
static const T * Element_toValue(const TLinkListNode *p)
Definition linklist.h:223
T & back()
Definition linklist.h:238
void Push_back(T *element)
Definition linklist.h:241
void Remove(T *element)
Definition linklist.h:245
void Push_front(T *element)
Definition linklist.h:240
TLinkList()
Definition linklist.h:123
const_iterator begin() const
Definition linklist.h:234
iterator begin()
Definition linklist.h:233
T value_type
Definition linklist.h:247
iterator Find(const T *element)
Definition linklist.h:242
static T * Element_toValue(TLinkListNode *p)
Definition linklist.h:219
iterator Insert(iterator iter, T *element)
Definition linklist.h:228
iterator Erase(T *element)
Definition linklist.h:231
void pop_front()
Definition linklist.h:239
iterator end()
Definition linklist.h:235
static TLinkListNode * Element_toNode(T *p)
Definition linklist.h:211
const_iterator end() const
Definition linklist.h:236
static const TLinkListNode * Element_toNode(const T *p)
Definition linklist.h:215
T & front()
Definition linklist.h:237
const_iterator operator--(int)
Definition linklist.h:54
const TLinkListNode * operator->() const
Definition linklist.h:61
const_iterator operator++(int)
Definition linklist.h:53
friend bool operator!=(const_iterator a, iterator b)
Definition linklist.h:59
friend bool operator!=(const_iterator a, const_iterator b)
Definition linklist.h:56
const_iterator(iterator it)
Definition linklist.h:49
const_iterator & operator--()
Definition linklist.h:52
const_iterator & operator++()
Definition linklist.h:51
TLinkListNode * node
Definition linklist.h:65
friend bool operator==(const_iterator a, iterator b)
Definition linklist.h:58
const TLinkListNode & operator*() const
Definition linklist.h:62
friend bool operator==(const_iterator a, const_iterator b)
Definition linklist.h:55
const_iterator(TLinkListNode *pNode)
Definition linklist.h:48
friend bool operator!=(iterator a, iterator b)
Definition linklist.h:38
iterator & operator--()
Definition linklist.h:34
TLinkListNode & operator*() const
Definition linklist.h:41
iterator & operator++()
Definition linklist.h:33
TLinkListNode * node
Definition linklist.h:44
iterator(TLinkListNode *pNode)
Definition linklist.h:30
iterator & operator=(const iterator &other)
Definition linklist.h:31
friend bool operator==(iterator a, iterator b)
Definition linklist.h:37
TLinkListNode * operator->() const
Definition linklist.h:40
iterator operator--(int)
Definition linklist.h:36
iterator operator++(int)
Definition linklist.h:35
iterator()
Definition linklist.h:29
bool empty() const
Definition linklist.h:82
const_iterator end() const
Definition linklist.h:80
iterator erase(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList::iterator)
Definition linklist.cpp:28
bool Iterator_isEnd_(const_iterator it) const
Definition linklist.h:94
iterator Insert(JGadget::TNodeLinkList::iterator, JGadget::TLinkListNode *)
Definition linklist.cpp:57
u32 size() const
Definition linklist.h:81
~TNodeLinkList()
Definition linklist.cpp:16
TLinkListNode ocObject_
Definition linklist.h:118
void Remove_if(Predicate predicate, TNodeLinkList &tList)
Definition linklist.h:96
iterator end()
Definition linklist.h:79
iterator Find(const JGadget::TLinkListNode *)
void Remove(JGadget::TLinkListNode *)
Definition linklist.cpp:79
iterator begin()
Definition linklist.h:77
iterator pop_front()
Definition linklist.h:83
void Initialize_()
Definition linklist.h:71
void remove_if(Predicate predicate)
Definition linklist.h:111
void splice(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList &, JGadget::TNodeLinkList::iterator)
Definition linklist.cpp:44
iterator Erase(JGadget::TLinkListNode *)
Definition linklist.cpp:69
TNodeLinkList()
Definition linklist.h:68
const_iterator begin() const
Definition linklist.h:78
u32 count
Definition linklist.h:117