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

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. A ConstEdgeIterator can be implicitly converted to a ConstEdgeValueIterator.

Definition at line 954 of file Graph.h.

#include <Sawyer/Graph.h>

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

Public Types

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

Public Member Functions

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

Definition at line 961 of file Graph.h.

◆ Pointer

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

Definition at line 962 of file Graph.h.

Constructor & Destructor Documentation

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

Definition at line 963 of file Graph.h.

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

Definition at line 964 of file Graph.h.

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

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

Definition at line 966 of file Graph.h.

◆ operator*()

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

Definition at line 967 of file Graph.h.

◆ operator->()

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

Definition at line 968 of file Graph.h.


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