carl
24.04
Computer ARithmetic Library
|
This is the base class for all iterators. More...
#include <carlTree.h>
Public Member Functions | |
const auto & | nodes () const |
const auto & | node (std::size_t id) const |
const auto & | curnode () const |
BaseIterator (const BaseIterator &ii)=default | |
BaseIterator (BaseIterator &&ii) noexcept=default | |
template<typename It , bool r> | |
BaseIterator (const BaseIterator< T, It, r > &ii) | |
BaseIterator & | operator= (const BaseIterator &ii)=default |
BaseIterator & | operator= (BaseIterator &&ii) noexcept=default |
std::size_t | depth () const |
std::size_t | id () const |
bool | isRoot () const |
bool | isValid () const |
T * | operator-> () |
T const * | operator-> () const |
Data Fields | |
std::size_t | current |
Protected Member Functions | |
BaseIterator (const tree< T > *t, std::size_t root) | |
Protected Attributes | |
const tree< T > * | mTree |
Friends | |
template<typename TT , typename It , bool rev> | |
struct | BaseIterator |
This is the base class for all iterators.
It takes care of correct implementation of all operators and reversion.
An actual iterator T<reverse>
only has to
BaseIterator<T, reverse>
,next()
and previous()
. If the iterator supports only forward iteration, it omits the template argument, inherits from BaseIterator<T, false>
and does not implement previous()
. Definition at line 72 of file carlTree.h.
|
inlineprotected |
Definition at line 77 of file carlTree.h.
|
default |
|
defaultnoexcept |
|
inline |
Definition at line 93 of file carlTree.h.
|
inline |
Definition at line 86 of file carlTree.h.
|
inline |
Definition at line 96 of file carlTree.h.
|
inline |
|
inline |
Definition at line 103 of file carlTree.h.
|
inline |
Definition at line 106 of file carlTree.h.
|
inline |
Definition at line 82 of file carlTree.h.
|
inline |
|
inline |
|
inline |
|
defaultnoexcept |
|
default |
|
friend |
Definition at line 74 of file carlTree.h.
std::size_t carl::tree_detail::BaseIterator< T, Iterator, reverse >::current |
Definition at line 89 of file carlTree.h.
|
protected |
Definition at line 76 of file carlTree.h.