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

#include <util/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. More...
 
bool isEmpty () const
 True if iterator doesn't point to anything. More...
 
EdgeIteratoroperator++ ()
 Increment. More...
 
EdgeIterator operator++ (int)
 Increment. More...
 
EdgeIteratoroperator-- ()
 Decrement. More...
 
EdgeIterator 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 >::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
 

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