claw::graph< S, A, Comp >::graph_vertex_iterator Class Reference

#include <graph.hpp>

List of all members.


Detailed Description

template<class S, class A, class Comp = std::less<S>>
class claw::graph< S, A, Comp >::graph_vertex_iterator

Iterator on the graph's vertices.

Definition at line 110 of file graph.hpp.


Public Types

typedef const vertex_type value_type
typedef const vertex_typereference
typedef const vertex_type *const pointer
typedef ptrdiff_t difference_type
typedef
std::bidirectional_iterator_tag 
iterator_category

Public Member Functions

 graph_vertex_iterator ()
 Constructor of the graph_vertex_iterator class.
graph_vertex_iteratoroperator++ ()
 Preincrement.
graph_vertex_iterator operator++ (int)
 Postincrement.
graph_vertex_iteratoroperator-- ()
 Predecrement.
graph_vertex_iterator operator-- (int)
 Postdecrement.
reference operator* () const
 Dereference.
pointer operator-> () const
 Reference.
bool operator== (const graph_vertex_iterator &it) const
 Equality.
bool operator!= (const graph_vertex_iterator &it) const
 Difference.

Private Member Functions

 graph_vertex_iterator (typename graph_content::const_iterator it)
 Constructor with an iterator on graph class data.

Private Attributes

graph_content::const_iterator m_iterator
 Iterator on the list of vertex.

Friends

class graph< vertex_type, edge_type, vertex_compare >

Member Typedef Documentation

template<class S, class A, class Comp = std::less<S>>
typedef const vertex_type claw::graph< S, A, Comp >::graph_vertex_iterator::value_type

Definition at line 115 of file graph.hpp.

template<class S, class A, class Comp = std::less<S>>
typedef const vertex_type& claw::graph< S, A, Comp >::graph_vertex_iterator::reference

Definition at line 116 of file graph.hpp.

template<class S, class A, class Comp = std::less<S>>
typedef const vertex_type* const claw::graph< S, A, Comp >::graph_vertex_iterator::pointer

Definition at line 117 of file graph.hpp.

template<class S, class A, class Comp = std::less<S>>
typedef ptrdiff_t claw::graph< S, A, Comp >::graph_vertex_iterator::difference_type

Definition at line 118 of file graph.hpp.

template<class S, class A, class Comp = std::less<S>>
typedef std::bidirectional_iterator_tag claw::graph< S, A, Comp >::graph_vertex_iterator::iterator_category

Definition at line 120 of file graph.hpp.


Constructor & Destructor Documentation

template<class S, class A, class Comp>
claw::graph< S, A, Comp >::graph_vertex_iterator::graph_vertex_iterator (  )  [inline]

Constructor of the graph_vertex_iterator class.

Definition at line 88 of file graph.tpp.

00089 {
00090 
00091 } // graph_vertex_iterator() [constructor]

template<class S, class A, class Comp>
claw::graph< S, A, Comp >::graph_vertex_iterator::graph_vertex_iterator ( typename graph_content::const_iterator  it  )  [inline, explicit, private]

Constructor with an iterator on graph class data.

Parameters:
it Iterator where scan starts.

Definition at line 209 of file graph.tpp.

00210   : m_iterator(it)
00211 {
00212   
00213 } // graph_vertex_iterator() [constructor on an iterator]


Member Function Documentation

template<class S, class A, class Comp>
claw::graph< S, A, Comp >::graph_vertex_iterator & claw::graph< S, A, Comp >::graph_vertex_iterator::operator++ (  )  [inline]

Preincrement.

Precondition:
Iterator is not at the end of the container.

Definition at line 100 of file graph.tpp.

References claw::graph< S, A, Comp >::graph_vertex_iterator::m_iterator.

00101 {
00102   ++m_iterator;
00103   return *this;
00104 } // operator++() [preincrement]

template<class S, class A, class Comp>
claw::graph< S, A, Comp >::graph_vertex_iterator claw::graph< S, A, Comp >::graph_vertex_iterator::operator++ ( int   )  [inline]

Postincrement.

Precondition:
Iterator is not at the end of the container.

Definition at line 113 of file graph.tpp.

References claw::graph< S, A, Comp >::graph_vertex_iterator::m_iterator.

00114 {
00115   graph_vertex_iterator it_tmp(*this);
00116   m_iterator++;
00117   return *this;
00118 } // operator++() [postincrement]

template<class S, class A, class Comp>
claw::graph< S, A, Comp >::graph_vertex_iterator & claw::graph< S, A, Comp >::graph_vertex_iterator::operator-- (  )  [inline]

Predecrement.

Precondition:
Iterator is not at the begining of the container.

Definition at line 127 of file graph.tpp.

References claw::graph< S, A, Comp >::graph_vertex_iterator::m_iterator.

00128 {
00129   --m_iterator;
00130   return *this;
00131 } // operator--() [predecrement]

template<class S, class A, class Comp>
claw::graph< S, A, Comp >::graph_vertex_iterator claw::graph< S, A, Comp >::graph_vertex_iterator::operator-- ( int   )  [inline]

Postdecrement.

Precondition:
Iterator is not at the begining of the container.

Definition at line 140 of file graph.tpp.

References claw::graph< S, A, Comp >::graph_vertex_iterator::m_iterator.

00141 {
00142   graph_vertex_iterator it_tmp(*this);
00143   m_iterator--;
00144   return it_tmp;
00145 } // operator--() [postdecrement]

template<class S, class A, class Comp>
claw::graph< S, A, Comp >::graph_vertex_iterator::reference claw::graph< S, A, Comp >::graph_vertex_iterator::operator* (  )  const [inline]

Dereference.

Precondition:
Iterator is not at the end of the container.

Definition at line 154 of file graph.tpp.

References claw::graph< S, A, Comp >::graph_vertex_iterator::m_iterator.

00155 {
00156   return m_iterator->first;
00157 } // operator*()

template<class S, class A, class Comp>
claw::graph< S, A, Comp >::graph_vertex_iterator::pointer claw::graph< S, A, Comp >::graph_vertex_iterator::operator-> (  )  const [inline]

Reference.

Precondition:
Iterator is not at the end of the container.

Definition at line 166 of file graph.tpp.

References claw::graph< S, A, Comp >::graph_vertex_iterator::m_iterator.

00167 {
00168   return &(m_iterator->first);
00169 } // operator->()

template<class S, class A, class Comp>
bool claw::graph< S, A, Comp >::graph_vertex_iterator::operator== ( const graph_vertex_iterator it  )  const [inline]

Equality.

Parameters:
it Iterator to compare to.
Precondition:
Iterator and it are not at the end of their respective containers.

Definition at line 179 of file graph.tpp.

References claw::graph< S, A, Comp >::graph_vertex_iterator::m_iterator.

00180 {
00181   return m_iterator == it.m_iterator;
00182 } // operator==()

template<class S, class A, class Comp>
bool claw::graph< S, A, Comp >::graph_vertex_iterator::operator!= ( const graph_vertex_iterator it  )  const [inline]

Difference.

Parameters:
it Iterator to compare to.
Precondition:
Iterator and it are not at the end of their respective containers.

Definition at line 192 of file graph.tpp.

References claw::graph< S, A, Comp >::graph_vertex_iterator::m_iterator.

00193 {
00194   return m_iterator != it.m_iterator;
00195 } // operator!=()


Friends And Related Function Documentation

template<class S, class A, class Comp = std::less<S>>
friend class graph< vertex_type, edge_type, vertex_compare > [friend]

Definition at line 112 of file graph.hpp.


Member Data Documentation

template<class S, class A, class Comp = std::less<S>>
graph_content::const_iterator claw::graph< S, A, Comp >::graph_vertex_iterator::m_iterator [private]


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

Generated on Thu May 22 21:07:37 2008 for CLAW Library (a C++ Library Absolutely Wonderful) by  doxygen 1.5.5