ROSE  0.11.109.0
Public Types | Public Member Functions | Protected Member Functions | List of all members
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter > 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 Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >

Base class for vertex iterators.

Definition at line 853 of file Graph.h.

#include <util/Sawyer/Graph.h>

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

Public Types

using iterator_category = std::bidirectional_iterator_tag
 
using value_type = Value
 
using difference_type = std::ptrdiff_t
 
using pointer = Value *
 
using reference = Value &
 

Public Member Functions

Derived & operator= (const Derived &other)
 Assignment. More...
 
bool isEmpty () const
 True if iterator doesn't point to anything. 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

 VertexBaseIterator (const VertexBaseIterator &other)
 
 VertexBaseIterator (const BaseIter &base)
 
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>
Derived& Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator= ( const Derived &  other)
inline

Assignment.

Definition at line 872 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>
Derived& Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator++ ( )
inline

Increment.

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

Definition at line 880 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>
Derived Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator++ ( int  )
inline

Increment.

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

Definition at line 881 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>
Derived& Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator-- ( )
inline

Decrement.

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

Definition at line 890 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>
Derived Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator-- ( int  )
inline

Decrement.

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

Definition at line 891 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>
template<class OtherIter >
bool Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator== ( const OtherIter &  other) const
inline

Equality predicate.

Two iterators are equal if they point to the same node of the vertex list, and unequal otherwise.

Definition at line 899 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>
template<class OtherIter >
bool Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator!= ( const OtherIter &  other) const
inline

Equality predicate.

Two iterators are equal if they point to the same node of the vertex list, and unequal otherwise.

Definition at line 900 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>
bool Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::isEmpty ( ) const
inline

True if iterator doesn't point to anything.

Definition at line 904 of file Graph.h.


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