21 template <
class T>
class List;
69 inline void rewind ();
78 inline const T& operator() ()
const;
80 inline T& operator() () ;
92 inline operator bool ()
const;
98 inline bool ok()
const ;
101 inline bool operator! ()
const;
104 inline const T& value ()
const;
216 inline List (
bool usePool);
228 inline void prepend (
const T& value);
231 inline void append (
const T& value);
234 void add (
const T& value);
237 void join (
const List<T>& src);
259 inline T& firstElement ()
const;
262 inline T& lastElement ()
const;
268 bool includes (
const T& value)
const;
276 bool operator== (
const List<T>& rhs)
const;
279 bool operator!= (
const List<T>& rhs)
const;
285 inline bool isNotEmpty ()
const;
291 inline void removeFirst ();
294 inline void removeLast ();
303 void remove (
const T& value);
306 void remove (
const List<T>& lst);
338 void checkLinks()
const;
467 return p != 0 ? true :
false;
482 return p == 0 ? true :
false;
539 return (&
list == &_li.
list &&
p == _li.
p) ? true :
false;
void addAfter(ListIterator< T > &lit, const T &val)
Insert val into List<T> after the object pointed to by lit.
Definition: List.H:680
T & lastElement() const
Returns a reference to the last element in the List<T>.
Definition: List.H:611
bool operator!=(const ListIterator< T > &) const
Are the ListIterator<T>s not equal?
Definition: List.H:545
ListLink< T > * p
Definition: List.H:167
ListIterator< T > listIterator() const
Returns a ListIterator<T> to the first object in this List<T>.
Definition: List.H:706
void prepend(const T &value)
Adds a copy of the value to the beginning of the List<T>.
Definition: List.H:574
#define CH_assert(cond)
Definition: CHArray.H:37
~List()
The destructor.
Definition: List.H:566
List< T > & operator=(const List< T > &rhs)
The assignment operator.
Definition: ListImplem.H:67
const T & value() const
Return a constant reference to the object in the List<T> currently pointed to by the iterator...
Definition: List.H:488
void append(const T &value)
Adds a copy of the value to the end of the List<T>.
Definition: List.H:582
ListLink< T > * tail
Definition: List.H:368
void clear()
Removes all objects from the List<T>.
Definition: ListImplem.H:264
bool operator!() const
Returns true if ListIterator<T> doesn't point to any element on the List<T>.
Definition: List.H:480
List< T > * copy() const
Returns a copy of this List<T> on the heap.
Definition: List.H:591
void rewind()
Reset this ListIterator<T> to point to the first element in the List<T>.
Definition: List.H:422
ListIterator< T > last() const
Returns a ListIterator<T> to the last object in this List<T>.
Definition: List.H:714
const T & operator*() const
Return a constant reference to the object in the List<T> currently pointed to by this ListIterator<T>...
Definition: List.H:456
ListLink< T > * head
Definition: List.H:363
int isEmpty(const box2d *)
const T & operator()() const
Return a constant reference to the object in the List<T> currently pointed to by this ListIterator<T>...
Definition: List.H:438
const T & operator[](const ListIterator< T > &li) const
Returns reference to object pointed to by the ListIterator<T>.
Definition: List.H:652
void removeFirst()
Removes the first element in the List<T>.
Definition: List.H:636
bool ok() const
Return true if the iterator is not past the end of the list.
Definition: List.H:465
ListIterator< T > & operator--()
The prefix auto-decrement operator.
Definition: List.H:507
void removeLast()
Removes the last element in the List<T>.
Definition: List.H:644
bool m_usePool
Definition: List.H:381
void addBefore(ListIterator< T > &lit, const T &val)
Insert val into List<T> before the object pointed to by lit.
Definition: List.H:689
A Doubly-Linked List Class.
Definition: List.H:21
Iterator over a List.
Definition: List.H:20
Pool is a class to optimize memory allocation.
Definition: Pool.H:63
const List< T > & list
Definition: List.H:162
T & firstElement() const
Returns a reference to the first element in the List<T>.
Definition: List.H:602
ListIterator< T > first() const
Returns a ListIterator<T> to the first object in this List<T>.
Definition: List.H:698
static Pool linkPool
Definition: List.H:379
bool isNotEmpty() const
Returns true if the List<T> is not empty.
Definition: List.H:628
static void Error(const char *const a_msg=m_nullString, int m_exitCode=CH_DEFAULT_ERROR_CODE)
Print out message to cerr and exit with the specified exit code.
void replace(ListIterator< T > &li, const T &val)
Replace the value pointed to by the ListIterator<T> by val.
Definition: List.H:670
C::self_type operator*(const C &, const C &)
Definition: GenericArithmeticI.H:132
bool operator==(const ListIterator< T > &) const
Equality test for two ListIterator<T>s.
Definition: List.H:537
bool isEmpty() const
Returns true if the List<T> is empty.
Definition: List.H:620
void begin()
Reset this ListIterator<T> to point to the first element in the List<T>.
Definition: List.H:430
List()
Construct an empty List<T>.
Definition: List.H:556
ListIterator< T > & operator++()
The prefix auto-increment operator.
Definition: List.H:497