Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends

IntrusiveDList< T, N, P >::iterator Class Reference

STL style iterator for access to elements. More...

#include <IntrusiveDList.h>

Collaboration diagram for IntrusiveDList< T, N, P >::iterator:
Collaboration graph
[legend]

Public Types

typedef iterator self
 Self reference type.
typedef T value_type
 Referenced type for iterator.
typedef int difference_type
 Distance type.
typedef T * pointer
 Pointer to referent.
typedef T & reference
 Reference to referent.
typedef
std::bidirectional_iterator_tag 
iterator_category

Public Member Functions

 iterator ()
 Default constructor.
bool operator== (self const &that) const
 Equality test.
selfoperator++ ()
 Pre-increment.
selfoperator-- ()
 Pre-decrement.
self operator++ (int)
 Post-increment.
self operator-- (int)
 Post-decrement.
bool operator!= (self const &that) const
 Inequality test.
reference operator* ()
 Dereference.
pointer operator-> ()
 Dereference.

Protected Member Functions

 iterator (IntrusiveDList *container, T *elt)
 Internal constructor for containers.

Protected Attributes

IntrusiveDList_list
 List for this iterator.
T * _elt
 Referenced element.

Friends

class IntrusiveDList

Detailed Description

template<typename T, T *T::* N, T *T::* P>
class IntrusiveDList< T, N, P >::iterator

STL style iterator for access to elements.

Definition at line 113 of file IntrusiveDList.h.


Member Typedef Documentation

template<typename T, T *T::* N, T *T::* P>
typedef int IntrusiveDList< T, N, P >::iterator::difference_type

Distance type.

Definition at line 118 of file IntrusiveDList.h.

template<typename T, T *T::* N, T *T::* P>
typedef std::bidirectional_iterator_tag IntrusiveDList< T, N, P >::iterator::iterator_category

Definition at line 121 of file IntrusiveDList.h.

template<typename T, T *T::* N, T *T::* P>
typedef T* IntrusiveDList< T, N, P >::iterator::pointer

Pointer to referent.

Definition at line 119 of file IntrusiveDList.h.

template<typename T, T *T::* N, T *T::* P>
typedef T& IntrusiveDList< T, N, P >::iterator::reference

Reference to referent.

Definition at line 120 of file IntrusiveDList.h.

template<typename T, T *T::* N, T *T::* P>
typedef iterator IntrusiveDList< T, N, P >::iterator::self

Self reference type.

Definition at line 116 of file IntrusiveDList.h.

template<typename T, T *T::* N, T *T::* P>
typedef T IntrusiveDList< T, N, P >::iterator::value_type

Referenced type for iterator.

Definition at line 117 of file IntrusiveDList.h.


Constructor & Destructor Documentation

template<typename T, T *T::* N, T *T::* P>
IntrusiveDList< T, N, P >::iterator::iterator (  )  [inline]

Default constructor.

Definition at line 124 of file IntrusiveDList.h.

template<typename T, T *T::* N, T *T::* P>
IntrusiveDList< T, N, P >::iterator::iterator ( IntrusiveDList container,
T *  elt 
) [inline, protected]

Internal constructor for containers.

Parameters:
container Container for iteration.
elt Initial referent

Definition at line 174 of file IntrusiveDList.h.


Member Function Documentation

template<typename T, T *T::* N, T *T::* P>
bool IntrusiveDList< T, N, P >::iterator::operator!= ( self const &  that  )  const [inline]

Inequality test.

Returns:
true if this and do not refer to the same object.

Definition at line 163 of file IntrusiveDList.h.

template<typename T, T *T::* N, T *T::* P>
reference IntrusiveDList< T, N, P >::iterator::operator* (  )  [inline]

Dereference.

Returns:
A reference to the referent.

Definition at line 166 of file IntrusiveDList.h.

References IntrusiveDList< T, N, P >::iterator::_elt.

template<typename T, T *T::* N, T *T::* P>
self IntrusiveDList< T, N, P >::iterator::operator++ ( int   )  [inline]

Post-increment.

Move to the next element in the list.

Returns:
The iterator value before the increment.

Definition at line 148 of file IntrusiveDList.h.

template<typename T, T *T::* N, T *T::* P>
self& IntrusiveDList< T, N, P >::iterator::operator++ (  )  [inline]

Pre-increment.

Move to the next element in the list.

Returns:
The iterator.

Definition at line 133 of file IntrusiveDList.h.

References IntrusiveDList< T, N, P >::iterator::_elt.

template<typename T, T *T::* N, T *T::* P>
self IntrusiveDList< T, N, P >::iterator::operator-- ( int   )  [inline]

Post-decrement.

Move to the previous element in the list.

Returns:
The iterator value before the decrement.

Definition at line 156 of file IntrusiveDList.h.

template<typename T, T *T::* N, T *T::* P>
self& IntrusiveDList< T, N, P >::iterator::operator-- (  )  [inline]

Pre-decrement.

Move to the previous element in the list.

Returns:
The iterator.

Definition at line 140 of file IntrusiveDList.h.

References IntrusiveDList< T, N, P >::iterator::_elt, IntrusiveDList< T, N, P >::iterator::_list, and IntrusiveDList< T, N, P >::_tail.

template<typename T, T *T::* N, T *T::* P>
pointer IntrusiveDList< T, N, P >::iterator::operator-> (  )  [inline]

Dereference.

Returns:
A pointer to the referent.

Definition at line 169 of file IntrusiveDList.h.

References IntrusiveDList< T, N, P >::iterator::_elt.

template<typename T, T *T::* N, T *T::* P>
bool IntrusiveDList< T, N, P >::iterator::operator== ( self const &  that  )  const [inline]

Equality test.

Returns:
true if this and that refer to the same object.

Definition at line 127 of file IntrusiveDList.h.

References IntrusiveDList< T, N, P >::iterator::_elt, and IntrusiveDList< T, N, P >::iterator::_list.


Friends And Related Function Documentation

template<typename T, T *T::* N, T *T::* P>
friend class IntrusiveDList [friend]

Definition at line 114 of file IntrusiveDList.h.


Field Documentation

template<typename T, T *T::* N, T *T::* P>
T* IntrusiveDList< T, N, P >::iterator::_elt [protected]
template<typename T, T *T::* N, T *T::* P>
IntrusiveDList* IntrusiveDList< T, N, P >::iterator::_list [protected]

The documentation for this class was generated from the following file: