Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

__list_iterator Struct Template Reference

#include <stl_list.h>

Collaboration diagram for __list_iterator:

Collaboration graph
[legend]
List of all members.

Public Types

typedef __list_iterator< T,
T &, T * > 
iterator
typedef __list_iterator< T,
const T &, const T * > 
const_iterator
typedef __list_iterator< T,
Ref, Ptr > 
self
typedef bidirectional_iterator_tag iterator_category
typedef T value_type
typedef Ptr pointer
typedef Ref reference
typedef __list_node< T > * link_type
typedef size_t size_type
typedef ptrdiff_t difference_type

Public Methods

 __list_iterator (link_type x)
 __list_iterator ()
 __list_iterator (const iterator &x)
bool operator== (const self &x) const
bool operator!= (const self &x) const
reference operator * () const
pointer operator-> () const
selfoperator++ ()
self operator++ (int)
selfoperator-- ()
self operator-- (int)

Public Attributes

link_type node

template<class T, class Ref, class Ptr>
struct __list_iterator< T, Ref, Ptr >


Member Typedef Documentation

template<class T, class Ref, class Ptr>
typedef __list_iterator<T, const T&, const T*> __list_iterator::const_iterator
 

Definition at line 51 of file stl_list.h.

template<class T, class Ref, class Ptr>
typedef ptrdiff_t __list_iterator::difference_type
 

Definition at line 60 of file stl_list.h.

template<class T, class Ref, class Ptr>
typedef __list_iterator<T, T&, T*> __list_iterator::iterator
 

Definition at line 50 of file stl_list.h.

template<class T, class Ref, class Ptr>
typedef bidirectional_iterator_tag __list_iterator::iterator_category
 

Definition at line 54 of file stl_list.h.

template<class T, class Ref, class Ptr>
typedef __list_node<T>* __list_iterator::link_type
 

Definition at line 58 of file stl_list.h.

template<class T, class Ref, class Ptr>
typedef Ptr __list_iterator::pointer
 

Definition at line 56 of file stl_list.h.

Referenced by operator->.

template<class T, class Ref, class Ptr>
typedef Ref __list_iterator::reference
 

Definition at line 57 of file stl_list.h.

Referenced by operator *.

template<class T, class Ref, class Ptr>
typedef __list_iterator<T, Ref, Ptr> __list_iterator::self
 

Definition at line 52 of file stl_list.h.

template<class T, class Ref, class Ptr>
typedef size_t __list_iterator::size_type
 

Definition at line 59 of file stl_list.h.

template<class T, class Ref, class Ptr>
typedef T __list_iterator::value_type
 

Definition at line 55 of file stl_list.h.


Constructor & Destructor Documentation

template<class T, class Ref, class Ptr>
__list_iterator< T, Ref, Ptr >::__list_iterator link_type    x [inline]
 

Definition at line 64 of file stl_list.h.

00064 : node(x) {}

template<class T, class Ref, class Ptr>
__list_iterator< T, Ref, Ptr >::__list_iterator   [inline]
 

Definition at line 65 of file stl_list.h.

00065 {}

template<class T, class Ref, class Ptr>
__list_iterator< T, Ref, Ptr >::__list_iterator const iterator   x [inline]
 

Definition at line 66 of file stl_list.h.

00066 : node(x.node) {}


Member Function Documentation

template<class T, class Ref, class Ptr>
reference __list_iterator< T, Ref, Ptr >::operator *   const [inline]
 

Definition at line 70 of file stl_list.h.

References reference.

Referenced by operator->.

00070 { return (*node).data; }

template<class T, class Ref, class Ptr>
bool __list_iterator< T, Ref, Ptr >::operator!= const self   x const [inline]
 

Definition at line 69 of file stl_list.h.

References node.

00069 { return node != x.node; }

template<class T, class Ref, class Ptr>
self __list_iterator< T, Ref, Ptr >::operator++ int    [inline]
 

Definition at line 80 of file stl_list.h.

00080                        { 
00081     self tmp = *this;
00082     ++*this;
00083     return tmp;
00084   }

template<class T, class Ref, class Ptr>
self& __list_iterator< T, Ref, Ptr >::operator++   [inline]
 

Definition at line 76 of file stl_list.h.

00076                      { 
00077     node = (link_type)((*node).next);
00078     return *this;
00079   }

template<class T, class Ref, class Ptr>
self __list_iterator< T, Ref, Ptr >::operator-- int    [inline]
 

Definition at line 89 of file stl_list.h.

00089                        { 
00090     self tmp = *this;
00091     --*this;
00092     return tmp;
00093   }

template<class T, class Ref, class Ptr>
self& __list_iterator< T, Ref, Ptr >::operator--   [inline]
 

Definition at line 85 of file stl_list.h.

00085                      { 
00086     node = (link_type)((*node).prev);
00087     return *this;
00088   }

template<class T, class Ref, class Ptr>
pointer __list_iterator< T, Ref, Ptr >::operator->   const [inline]
 

Definition at line 73 of file stl_list.h.

References operator *, and pointer.

00073 { return &(operator*()); }

template<class T, class Ref, class Ptr>
bool __list_iterator< T, Ref, Ptr >::operator== const self   x const [inline]
 

Definition at line 68 of file stl_list.h.

References node.

00068 { return node == x.node; }


Member Data Documentation

template<class T, class Ref, class Ptr>
link_type __list_iterator::node
 

Definition at line 62 of file stl_list.h.

Referenced by list::erase, list::insert, operator!=, operator==, and list::transfer.


The documentation for this struct was generated from the following file:
logo OpenMask

Documentation generated on Thu May 2 15:03:15 2002

Generated with doxygen 1.2.12 by Dimitri van Heesch ,   1997-2001