ROSE 0.11.145.192
Public Types | Public Member Functions | List of all members
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexValueIterator Class Reference

Description

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
class Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexValueIterator

Bidirectional vertex value iterator.

Iterates over the vertex values in a list, returning the user-defined value (type VertexValue) when dereferenced. Vertex iterators are stable across insert and erase operations. The difference between VertexValueIterator and ConstVertexValueIterator is that the latter returns const references when dereferenced. A VertexValueIterator can be impliciatly converted to a ConstVertexValueIterator.

Definition at line 1080 of file Graph.h.

#include <Sawyer/Graph.h>

Inheritance diagram for Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexValueIterator:
Inheritance graph
[legend]
Collaboration diagram for Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexValueIterator:
Collaboration graph
[legend]

Public Types

typedef VertexValueReference
 
typedef VertexValuePointer
 
- Public Types inherited from Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< VertexValueIterator, VertexValue, Vertex, VertexList::NodeIterator >
using iterator_category = std::bidirectional_iterator_tag
 
using value_type = VertexValue
 
using difference_type = std::ptrdiff_t
 
using pointer = VertexValue *
 
using reference = VertexValue &
 

Public Member Functions

 VertexValueIterator (const VertexValueIterator &other)
 
 VertexValueIterator (const VertexIterator &other)
 
VertexValueIteratoroperator= (const VertexValueIterator &other)
 
VertexValueoperator* () const
 
VertexValueoperator-> () const
 
- Public Member Functions inherited from Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< VertexValueIterator, VertexValue, Vertex, VertexList::NodeIterator >
VertexValueIteratoroperator= (const VertexValueIterator &other)
 Assignment.
 
VertexBaseIteratoroperator= (const VertexBaseIterator &other)
 
bool isEmpty () const
 True if iterator doesn't point to anything.
 
VertexValueIteratoroperator++ ()
 Increment.
 
VertexValueIterator operator++ (int)
 Increment.
 
VertexValueIteratoroperator-- ()
 Decrement.
 
VertexValueIterator operator-- (int)
 Decrement.
 
bool operator== (const OtherIter &other) const
 Equality predicate.
 
bool operator!= (const OtherIter &other) const
 Equality predicate.
 

Additional Inherited Members

- Protected Member Functions inherited from Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< VertexValueIterator, VertexValue, Vertex, VertexList::NodeIterator >
 VertexBaseIterator (const VertexBaseIterator &other)
 
 VertexBaseIterator (const VertexList::NodeIterator &base)
 
Vertexdereference () const
 

Member Typedef Documentation

◆ Reference

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
typedef VertexValue& Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexValueIterator::Reference

Definition at line 1085 of file Graph.h.

◆ Pointer

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
typedef VertexValue* Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexValueIterator::Pointer

Definition at line 1086 of file Graph.h.

Constructor & Destructor Documentation

◆ VertexValueIterator() [1/3]

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexValueIterator::VertexValueIterator ( )
inline

Definition at line 1087 of file Graph.h.

◆ VertexValueIterator() [2/3]

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexValueIterator::VertexValueIterator ( const VertexValueIterator other)
inline

Definition at line 1088 of file Graph.h.

◆ VertexValueIterator() [3/3]

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexValueIterator::VertexValueIterator ( const VertexIterator other)
inline

Definition at line 1089 of file Graph.h.

Member Function Documentation

◆ operator=()

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
VertexValueIterator & Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexValueIterator::operator= ( const VertexValueIterator other)
inline

Definition at line 1090 of file Graph.h.

◆ operator*()

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
VertexValue & Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexValueIterator::operator* ( ) const
inline

Definition at line 1091 of file Graph.h.

◆ operator->()

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
VertexValue * Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexValueIterator::operator-> ( ) const
inline

Definition at line 1092 of file Graph.h.


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