30 template<
class LListBase,
class T>
42 this->append(iter().
clone().ptr());
47 template<
class LListBase,
class T>
56 template<
class LListBase,
class T>
57 template<
class CloneArg>
61 const CloneArg& cloneArg
73 this->append(iter().
clone(cloneArg).ptr());
80 template<
class LListBase,
class T>
89 template<
class LListBase,
class T>
104 template<
class LListBase,
class T>
108 if ((tPtr =
remove(p)))
120 template<
class LListBase,
class T>
123 label oldSize = this->size();
124 for (
label i=0; i<oldSize; ++i)
133 template<
class LListBase,
class T>
137 LListBase::transfer(lst);
143 template<
class LListBase,
class T>
155 this->append(iter().
clone().ptr());
160 template<
class LListBase,
class T>
Template class for intrusive linked lists.
Template class for intrusive linked lists.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void transfer(ILList< LListBase, T > &)
Transfer the contents of the argument into this List.
bool erase(T *p)
Remove the specified element from the list and delete it.
An STL-conforming const_iterator.
bool eraseHead()
Remove the head element specified from the list and delete it.
void clear()
Clear the contents of the list.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
T * removeHead()
Remove and return head.
void operator=(const ILList< LListBase, T > &)
Assignment operator.