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

Bidirectional edge node iterator.

Iterates over the edge nodes in a list, returning the Edge when dereferenced. Edge iterators are stable across insert and erase operations. The difference between EdgeIterator and ConstEdgeIterator is that the latter returns const references when dereferenced. An EdgeIterator can be impliciatly converted to a ConstEdgeIterator, EdgeValueIterator, or ConstEdgeValueIterator.

Definition at line 930 of file Graph.h.

#include <Sawyer/Graph.h>

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

Public Types

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

Public Member Functions

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

Definition at line 935 of file Graph.h.

◆ Pointer

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

Definition at line 936 of file Graph.h.

Constructor & Destructor Documentation

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

Definition at line 937 of file Graph.h.

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

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

Definition at line 939 of file Graph.h.

◆ operator*()

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

Definition at line 940 of file Graph.h.

◆ operator->()

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

Definition at line 941 of file Graph.h.


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