ROSE 0.11.145.147
Public Types | Public Member Functions | List of all members
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexIterator 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 >::VertexIterator

Bidirectional vertex node iterator.

Iterates over the vertex nodes in a list, returning the Vertex when dereferenced. Vertex iterators are stable across insert and erase operations. The difference between VertexIterator and ConstVertexIterator is that the latter returns const references when dereferenced. A VertexIterator can be impliciatly converted to a ConstVertexIterator, VertexValueIterator, or ConstVertexValueIterator.

Definition at line 1034 of file Graph.h.

#include <Sawyer/Graph.h>

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

Public Types

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

Public Member Functions

 VertexIterator (const VertexIterator &other)
 
VertexIteratoroperator= (const VertexIterator &other)
 
Vertexoperator* () const
 
Vertexoperator-> () const
 
- Public Member Functions inherited from Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< VertexIterator, Vertex, Vertex, VertexList::NodeIterator >
VertexIteratoroperator= (const VertexIterator &other)
 Assignment.
 
VertexBaseIteratoroperator= (const VertexBaseIterator &other)
 
bool isEmpty () const
 True if iterator doesn't point to anything.
 
VertexIteratoroperator++ ()
 Increment.
 
VertexIterator operator++ (int)
 Increment.
 
VertexIteratoroperator-- ()
 Decrement.
 
VertexIterator 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< VertexIterator, Vertex, 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 Vertex& Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexIterator::Reference

Definition at line 1039 of file Graph.h.

◆ Pointer

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

Definition at line 1040 of file Graph.h.

Constructor & Destructor Documentation

◆ VertexIterator() [1/2]

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 >::VertexIterator::VertexIterator ( )
inline

Definition at line 1041 of file Graph.h.

◆ VertexIterator() [2/2]

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 >::VertexIterator::VertexIterator ( const VertexIterator other)
inline

Definition at line 1042 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>
VertexIterator & Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexIterator::operator= ( const VertexIterator other)
inline

Definition at line 1043 of file Graph.h.

◆ operator*()

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

Definition at line 1044 of file Graph.h.

◆ operator->()

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

Definition at line 1045 of file Graph.h.


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