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

Bidirectional edge value iterator.

Iterates over the edge values in a list, returning the user-defined value (type EdgeValue) when dereferenced. Edge iterators are stable across insert and erase operations. The difference between EdgeValueIterator and ConstEdgeValueIterator is that the latter returns const references when dereferenced. An EdgeValueIterator can be impliciatly converted to a ConstEdgeValueIterator.

Definition at line 981 of file Graph.h.

#include <Sawyer/Graph.h>

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

Public Types

typedef EdgeValueReference
 
typedef EdgeValuePointer
 
- Public Types inherited from Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< EdgeValueIterator, EdgeValue, Edge, EdgeList::NodeIterator, VirtualList< Edge > >
using iterator_category = std::bidirectional_iterator_tag
 
using value_type = EdgeValue
 
using difference_type = std::ptrdiff_t
 
using pointer = EdgeValue *
 
using reference = EdgeValue &
 

Public Member Functions

 EdgeValueIterator (const EdgeValueIterator &other)
 
 EdgeValueIterator (const EdgeIterator &other)
 
EdgeValueIteratoroperator= (const EdgeValueIterator &other)
 
EdgeValueoperator* () const
 
EdgeValueoperator-> () const
 
- Public Member Functions inherited from Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::EdgeBaseIterator< EdgeValueIterator, EdgeValue, Edge, EdgeList::NodeIterator, VirtualList< Edge > >
EdgeValueIteratoroperator= (const EdgeValueIterator &other)
 Assignment.
 
bool isEmpty () const
 True if iterator doesn't point to anything.
 
EdgeValueIteratoroperator++ ()
 Increment.
 
EdgeValueIterator operator++ (int)
 Increment.
 
EdgeValueIteratoroperator-- ()
 Decrement.
 
EdgeValueIterator 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 >::EdgeBaseIterator< EdgeValueIterator, EdgeValue, Edge, EdgeList::NodeIterator, VirtualList< Edge > >
 EdgeBaseIterator (const EdgeBaseIterator &other)
 
 EdgeBaseIterator (const EdgeList::NodeIterator &iter)
 
 EdgeBaseIterator (EdgePhase phase, VirtualList< Edge > *vlist)
 
 EdgeBaseIterator (EdgePhase phase, const BaseIter2 &iter, VirtualList< Edge > *vlist)
 
Edgedereference () const
 

Member Typedef Documentation

◆ Reference

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

Definition at line 986 of file Graph.h.

◆ Pointer

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

Definition at line 987 of file Graph.h.

Constructor & Destructor Documentation

◆ EdgeValueIterator() [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 >::EdgeValueIterator::EdgeValueIterator ( )
inline

Definition at line 988 of file Graph.h.

◆ EdgeValueIterator() [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 >::EdgeValueIterator::EdgeValueIterator ( const EdgeValueIterator other)
inline

Definition at line 989 of file Graph.h.

◆ EdgeValueIterator() [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 >::EdgeValueIterator::EdgeValueIterator ( const EdgeIterator other)
inline

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

Definition at line 991 of file Graph.h.

◆ operator*()

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

Definition at line 992 of file Graph.h.

◆ operator->()

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

Definition at line 993 of file Graph.h.


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