ROSE 0.11.145.192
Public Types | Public Member Functions | Protected Member Functions | List of all members
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter > Class Template Reference

Description

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived, class Value, class Node, class BaseIter>
class Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >

Base class for vertex iterators.

Definition at line 862 of file Graph.h.

#include <Sawyer/Graph.h>

Inheritance diagram for Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >:
Inheritance graph
[legend]

Public Types

using iterator_category = std::bidirectional_iterator_tag
 
using value_type = Value
 
using difference_type = std::ptrdiff_t
 
using pointer = Value *
 
using reference = Value &
 

Public Member Functions

Derived & operator= (const Derived &other)
 Assignment.
 
VertexBaseIteratoroperator= (const VertexBaseIterator &other)
 
bool isEmpty () const
 True if iterator doesn't point to anything.
 
Derived & operator++ ()
 Increment.
 
Derived operator++ (int)
 Increment.
 
Derived & operator-- ()
 Decrement.
 
Derived operator-- (int)
 Decrement.
 
template<class OtherIter >
bool operator== (const OtherIter &other) const
 Equality predicate.
 
template<class OtherIter >
bool operator!= (const OtherIter &other) const
 Equality predicate.
 

Protected Member Functions

 VertexBaseIterator (const VertexBaseIterator &other)
 
 VertexBaseIterator (const BaseIter &base)
 
Node & dereference () const
 

Member Typedef Documentation

◆ iterator_category

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
using Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::iterator_category = std::bidirectional_iterator_tag

Definition at line 865 of file Graph.h.

◆ value_type

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
using Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::value_type = Value

Definition at line 866 of file Graph.h.

◆ difference_type

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
using Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::difference_type = std::ptrdiff_t

Definition at line 867 of file Graph.h.

◆ pointer

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
using Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::pointer = Value*

Definition at line 868 of file Graph.h.

◆ reference

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
using Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::reference = Value&

Definition at line 869 of file Graph.h.

Constructor & Destructor Documentation

◆ VertexBaseIterator() [1/3]

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::VertexBaseIterator ( )
inlineprotected

Definition at line 875 of file Graph.h.

◆ VertexBaseIterator() [2/3]

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::VertexBaseIterator ( const VertexBaseIterator< Derived, Value, Node, BaseIter > &  other)
inlineprotected

Definition at line 876 of file Graph.h.

◆ VertexBaseIterator() [3/3]

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::VertexBaseIterator ( const BaseIter &  base)
inlineprotected

Definition at line 877 of file Graph.h.

Member Function Documentation

◆ dereference()

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
Node & Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::dereference ( ) const
inlineprotected

Definition at line 878 of file Graph.h.

◆ operator=() [1/2]

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
Derived & Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator= ( const Derived &  other)
inline

Assignment.

Definition at line 881 of file Graph.h.

◆ operator=() [2/2]

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
VertexBaseIterator & Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator= ( const VertexBaseIterator< Derived, Value, Node, BaseIter > &  other)
inline

Definition at line 882 of file Graph.h.

◆ operator++() [1/2]

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
Derived & Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator++ ( )
inline

Increment.

Causes this iterator to advance to the next node of the vertex list. This method should not be invoked on an iterator that points to the end of the list.

Definition at line 890 of file Graph.h.

◆ operator++() [2/2]

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
Derived Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator++ ( int  )
inline

Increment.

Causes this iterator to advance to the next node of the vertex list. This method should not be invoked on an iterator that points to the end of the list.

Definition at line 891 of file Graph.h.

◆ operator--() [1/2]

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
Derived & Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator-- ( )
inline

Decrement.

Causes this iterator to advance to the previous node of the vertex list. This method should not be invoked on an iterator that points to the beginning of the list.

Definition at line 900 of file Graph.h.

◆ operator--() [2/2]

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
Derived Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator-- ( int  )
inline

Decrement.

Causes this iterator to advance to the previous node of the vertex list. This method should not be invoked on an iterator that points to the beginning of the list.

Definition at line 901 of file Graph.h.

◆ operator==()

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
template<class OtherIter >
bool Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator== ( const OtherIter &  other) const
inline

Equality predicate.

Two iterators are equal if they point to the same node of the vertex list, and unequal otherwise.

Definition at line 909 of file Graph.h.

◆ operator!=()

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
template<class OtherIter >
bool Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::operator!= ( const OtherIter &  other) const
inline

Equality predicate.

Two iterators are equal if they point to the same node of the vertex list, and unequal otherwise.

Definition at line 910 of file Graph.h.

◆ isEmpty()

template<class V = Nothing, class E = Nothing, class VKey = GraphVertexNoKey<V>, class EKey = GraphEdgeNoKey<E>, class Alloc = DefaultAllocator>
template<class Derived , class Value , class Node , class BaseIter >
bool Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::VertexBaseIterator< Derived, Value, Node, BaseIter >::isEmpty ( ) const
inline

True if iterator doesn't point to anything.

Definition at line 914 of file Graph.h.


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