![]() |
aGrUM
0.14.2
|
Unsafe iterator on the node set of a graph. More...
#include <nodeGraphPart.h>
Public Member Functions | |
Constructors / Destructors | |
NodeGraphPartIterator (const NodeGraphPart &nodes) noexcept | |
Default constructor. More... | |
NodeGraphPartIterator (const NodeGraphPartIterator &it) noexcept | |
copy constructor More... | |
NodeGraphPartIterator (NodeGraphPartIterator &&it) noexcept | |
move constructor More... | |
virtual | ~NodeGraphPartIterator () noexcept |
destructor More... | |
Operators | |
NodeGraphPartIterator & | operator= (const NodeGraphPartIterator &it) noexcept |
copy assignment operator More... | |
NodeGraphPartIterator & | operator= (NodeGraphPartIterator &&it) noexcept |
move assignment operator More... | |
bool | operator== (const NodeGraphPartIterator &it) const noexcept |
checks whether two iterators point toward the same node More... | |
bool | operator!= (const NodeGraphPartIterator &it) const noexcept |
checks whether two iterators point toward different nodes More... | |
NodeGraphPartIterator & | operator++ () noexcept |
increment the iterator More... | |
value_type | operator* () const |
dereferencing operator More... | |
Public Types | |
using | iterator_category = std::forward_iterator_tag |
types for STL compliance More... | |
using | value_type = NodeId |
types for STL compliance More... | |
using | reference = value_type & |
types for STL compliance More... | |
using | const_reference = const value_type & |
types for STL compliance More... | |
using | pointer = value_type * |
types for STL compliance More... | |
using | const_pointer = const value_type * |
types for STL compliance More... | |
using | difference_type = std::ptrdiff_t |
types for STL compliance More... | |
Protected Attributes | |
const NodeGraphPart * | _nodes |
the nodegraphpart on which points the iterator More... | |
NodeId | _pos {0} |
the nodeid on which the iterator points currently More... | |
bool | _valid {false} |
Protected Member Functions | |
void | _setPos (NodeId id) noexcept |
this function is used by NodeGraphPart to update More... | |
void | _validate () noexcept |
ensure that the nodeId is either end() either a valid NodeId More... | |
Friends | |
class | NodeGraphPart |
Unsafe iterator on the node set of a graph.
Definition at line 55 of file nodeGraphPart.h.
using gum::NodeGraphPartIterator::const_pointer = const value_type* |
types for STL compliance
Definition at line 66 of file nodeGraphPart.h.
using gum::NodeGraphPartIterator::const_reference = const value_type& |
types for STL compliance
Definition at line 64 of file nodeGraphPart.h.
using gum::NodeGraphPartIterator::difference_type = std::ptrdiff_t |
types for STL compliance
Definition at line 67 of file nodeGraphPart.h.
using gum::NodeGraphPartIterator::iterator_category = std::forward_iterator_tag |
types for STL compliance
Definition at line 61 of file nodeGraphPart.h.
types for STL compliance
Definition at line 65 of file nodeGraphPart.h.
types for STL compliance
Definition at line 63 of file nodeGraphPart.h.
types for STL compliance
Definition at line 62 of file nodeGraphPart.h.
|
noexcept |
Default constructor.
default constructor
Definition at line 52 of file nodeGraphPart_inl.h.
|
noexcept |
copy constructor
Definition at line 60 of file nodeGraphPart_inl.h.
|
noexcept |
move constructor
Definition at line 69 of file nodeGraphPart_inl.h.
|
virtualnoexcept |
destructor
Definition at line 77 of file nodeGraphPart_inl.h.
References operator=().
|
protectednoexcept |
this function is used by NodeGraphPart to update
Definition at line 134 of file nodeGraphPart_inl.h.
References _nodes, _pos, _valid, gum::NodeGraphPart::bound(), and gum::NodeGraphPart::exists().
|
protectednoexcept |
ensure that the nodeId is either end() either a valid NodeId
Definition at line 35 of file nodeGraphPart_inl.h.
References gum::NodeGraphPart::__inHoles(), _nodes, _pos, _valid, and gum::NodeGraphPart::bound().
Referenced by gum::NodeGraphPart::begin(), gum::NodeGraphPart::beginSafe(), and operator++().
|
noexcept |
checks whether two iterators point toward different nodes
Definition at line 112 of file nodeGraphPart_inl.h.
References operator==().
INLINE NodeId gum::NodeGraphPartIterator::operator* | ( | ) | const |
dereferencing operator
Definition at line 125 of file nodeGraphPart_inl.h.
References _pos, _valid, and GUM_ERROR.
|
noexcept |
increment the iterator
Definition at line 118 of file nodeGraphPart_inl.h.
References _pos, and _validate().
|
noexcept |
copy assignment operator
Definition at line 83 of file nodeGraphPart_inl.h.
References _nodes, _pos, and _valid.
Referenced by gum::NodeGraphPartIteratorSafe::operator=(), and ~NodeGraphPartIterator().
|
noexcept |
move assignment operator
Definition at line 94 of file nodeGraphPart_inl.h.
References _nodes, _pos, and _valid.
|
noexcept |
checks whether two iterators point toward the same node
Definition at line 105 of file nodeGraphPart_inl.h.
References _nodes, _pos, and _valid.
Referenced by operator!=(), and gum::NodeGraphPart::operator!=().
|
friend |
Definition at line 56 of file nodeGraphPart.h.
|
protected |
the nodegraphpart on which points the iterator
Definition at line 124 of file nodeGraphPart.h.
Referenced by _setPos(), _validate(), gum::NodeGraphPartIteratorSafe::NodeGraphPartIteratorSafe(), operator=(), and operator==().
|
protected |
the nodeid on which the iterator points currently
Definition at line 127 of file nodeGraphPart.h.
Referenced by _setPos(), _validate(), operator*(), operator++(), operator=(), and operator==().
|
protected |
Definition at line 130 of file nodeGraphPart.h.
Referenced by _setPos(), _validate(), operator*(), operator=(), and operator==().