![]() |
aGrUM
0.16.0
|
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 58 of file nodeGraphPart.h.
using gum::NodeGraphPartIterator::const_pointer = const value_type* |
types for STL compliance
Definition at line 69 of file nodeGraphPart.h.
using gum::NodeGraphPartIterator::const_reference = const value_type& |
types for STL compliance
Definition at line 67 of file nodeGraphPart.h.
using gum::NodeGraphPartIterator::difference_type = std::ptrdiff_t |
types for STL compliance
Definition at line 70 of file nodeGraphPart.h.
using gum::NodeGraphPartIterator::iterator_category = std::forward_iterator_tag |
types for STL compliance
Definition at line 64 of file nodeGraphPart.h.
types for STL compliance
Definition at line 68 of file nodeGraphPart.h.
types for STL compliance
Definition at line 66 of file nodeGraphPart.h.
types for STL compliance
Definition at line 65 of file nodeGraphPart.h.
|
noexcept |
Default constructor.
default constructor
Definition at line 55 of file nodeGraphPart_inl.h.
|
noexcept |
copy constructor
Definition at line 63 of file nodeGraphPart_inl.h.
|
noexcept |
move constructor
Definition at line 72 of file nodeGraphPart_inl.h.
|
virtualnoexcept |
destructor
Definition at line 80 of file nodeGraphPart_inl.h.
References operator=().
|
protectednoexcept |
this function is used by NodeGraphPart to update
Definition at line 137 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 38 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 115 of file nodeGraphPart_inl.h.
References operator==().
INLINE NodeId gum::NodeGraphPartIterator::operator* | ( | ) | const |
dereferencing operator
Definition at line 128 of file nodeGraphPart_inl.h.
References _pos, _valid, and GUM_ERROR.
|
noexcept |
increment the iterator
Definition at line 121 of file nodeGraphPart_inl.h.
References _pos, and _validate().
|
noexcept |
copy assignment operator
Definition at line 86 of file nodeGraphPart_inl.h.
References _nodes, _pos, and _valid.
Referenced by gum::NodeGraphPartIteratorSafe::operator=(), and ~NodeGraphPartIterator().
|
noexcept |
move assignment operator
Definition at line 97 of file nodeGraphPart_inl.h.
References _nodes, _pos, and _valid.
|
noexcept |
checks whether two iterators point toward the same node
Definition at line 108 of file nodeGraphPart_inl.h.
References _nodes, _pos, and _valid.
Referenced by operator!=(), and gum::NodeGraphPart::operator!=().
|
friend |
Definition at line 59 of file nodeGraphPart.h.
|
protected |
the nodegraphpart on which points the iterator
Definition at line 127 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 130 of file nodeGraphPart.h.
Referenced by _setPos(), _validate(), operator*(), operator++(), operator=(), and operator==().
|
protected |
Definition at line 133 of file nodeGraphPart.h.
Referenced by _setPos(), _validate(), operator*(), operator=(), and operator==().