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 740 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 >
using Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::iterator_category = std::bidirectional_iterator_tag |
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 >
using Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::value_type = Value |
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 >
using Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::difference_type = std::ptrdiff_t |
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 >
using Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::pointer = Value* |
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 >
using Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::reference = Value& |
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 >
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::EdgeBaseIterator |
( |
| ) |
|
|
inlineprotected |
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 >
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::EdgeBaseIterator |
( |
const EdgeBaseIterator< Derived, Value, Node, BaseIter, VList > & |
other | ) |
|
|
inlineprotected |
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 >
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::EdgeBaseIterator |
( |
const BaseIter & |
iter | ) |
|
|
inlineprotected |
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 >
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::EdgeBaseIterator |
( |
EdgePhase |
phase, |
|
|
VList * |
vlist |
|
) |
| |
|
inlineprotected |
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 BaseIter2 >
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::EdgeBaseIterator |
( |
EdgePhase |
phase, |
|
|
const BaseIter2 & |
iter, |
|
|
VList * |
vlist |
|
) |
| |
|
inlineprotected |
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 >
Node & Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< Derived, Value, Node, BaseIter, VList >::dereference |
( |
| ) |
const |
|
inlineprotected |
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 772 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 785 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 793 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 806 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 814 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 829 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 845 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 >::isEmpty |
( |
| ) |
const |
|
inline |
True if iterator doesn't point to anything.
Definition at line 851 of file Graph.h.