ROSE  0.11.145.0
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 1072 of file Graph.h.

#include <util/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. More...
 
VertexBaseIteratoroperator= (const VertexBaseIterator &other)
 
bool isEmpty () const
 True if iterator doesn't point to anything. More...
 
VertexValueIteratoroperator++ ()
 Increment. More...
 
VertexValueIterator operator++ (int)
 Increment. More...
 
VertexValueIteratoroperator-- ()
 Decrement. More...
 
VertexValueIterator operator-- (int)
 Decrement. More...
 
bool operator== (const OtherIter &other) const
 Equality predicate. More...
 
bool operator!= (const OtherIter &other) const
 Equality predicate. More...
 

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
 

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