ROSE  0.9.10.6
Public Member Functions | Protected Member Functions | List of all members
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList > Class Template Reference

Description

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived, class Value, class Node, class BaseIter, class VList>
class Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >

Base class for edge iterators.

This isn't normally used directly by users except for its public methods inherited by subclasses.

Definition at line 731 of file Graph.h.

#include <Graph.h>

Inheritance diagram for Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >:
Inheritance graph
[legend]
Collaboration diagram for Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >:
Collaboration graph
[legend]

Public Member Functions

Derived & operator= (const Derived &other)
 Assignment. More...
 
bool operator< (const EdgeBaseIterator &other) const
 Iterator comparison. More...
 
Derived & operator++ ()
 Increment. More...
 
Derived operator++ (int)
 Increment. More...
 
Derived & operator-- ()
 Decrement. More...
 
Derived operator-- (int)
 Decrement. More...
 
template<class OtherIter >
bool operator== (const OtherIter &other) const
 Equality predicate. More...
 
template<class OtherIter >
bool operator!= (const OtherIter &other) const
 Equality predicate. More...
 

Protected Member Functions

 EdgeBaseIterator (const EdgeBaseIterator &other)
 
 EdgeBaseIterator (const BaseIter &iter)
 
 EdgeBaseIterator (EdgePhase phase, VList *vlist)
 
template<class BaseIter2 >
 EdgeBaseIterator (EdgePhase phase, const BaseIter2 &iter, VList *vlist)
 
Node & dereference () const
 

Member Function Documentation

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived, class Value, class Node, class BaseIter, class VList>
Derived& Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::operator= ( const Derived &  other)
inline

Assignment.

Definition at line 754 of file Graph.h.

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived, class Value, class Node, class BaseIter, class VList>
Derived& Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::operator++ ( )
inline

Increment.

Causes this iterator to advance to the next node of the edge list. This method should not be invoked on an iterator that points to the end of the list.

Definition at line 767 of file Graph.h.

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived, class Value, class Node, class BaseIter, class VList>
Derived Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::operator++ ( int  )
inline

Increment.

Causes this iterator to advance to the next node of the edge list. This method should not be invoked on an iterator that points to the end of the list.

Definition at line 775 of file Graph.h.

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived, class Value, class Node, class BaseIter, class VList>
Derived& Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::operator-- ( )
inline

Decrement.

Causes this iterator to advance to the previous node of the edge list. This method should not be invoked on an iterator that points to the beginning of the list.

Definition at line 788 of file Graph.h.

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived, class Value, class Node, class BaseIter, class VList>
Derived Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::operator-- ( int  )
inline

Decrement.

Causes this iterator to advance to the previous node of the edge list. This method should not be invoked on an iterator that points to the beginning of the list.

Definition at line 796 of file Graph.h.

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived, class Value, class Node, class BaseIter, class VList>
template<class OtherIter >
bool Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::operator== ( const OtherIter &  other) const
inline

Equality predicate.

Two iterators are equal if they point to the same node of an edge list, and unequal otherwise. End iterators point to a virtual node one past the end of the list and are unique to each list or sublist. One minor exception to this rule is that end iterators for the in-edge list and out-edge list of the same vertex are considered to be equal.

Definition at line 811 of file Graph.h.

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived, class Value, class Node, class BaseIter, class VList>
template<class OtherIter >
bool Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::operator!= ( const OtherIter &  other) const
inline

Equality predicate.

Two iterators are equal if they point to the same node of an edge list, and unequal otherwise. End iterators point to a virtual node one past the end of the list and are unique to each list or sublist. One minor exception to this rule is that end iterators for the in-edge list and out-edge list of the same vertex are considered to be equal.

Definition at line 827 of file Graph.h.

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived, class Value, class Node, class BaseIter, class VList>
bool Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::operator< ( const EdgeBaseIterator< Derived, Value, Node, BaseIter, VList > &  other) const
inline

Iterator comparison.

Definition at line 833 of file Graph.h.


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