ForwardIteratorBase ​
#include "Core/Nodes/Iterators.h"
Public Types ​
| Name | |
|---|---|
| using std::ptrdiff_t | difference_type |
| using std::forward_iterator_tag | iterator_category |
| using typename std::conditional< IsConst, const Value *, Value * >::type | pointer |
| using typename std::conditional< IsConst, const Value &, Value & >::type | reference |
| using typename std::conditional< IsConst, const Value, Value >::type | value_type |
Public Functions ​
| Name | |
|---|---|
| reference | operator*() |
| Iterator & | operator++() |
| Iterator | operator++(int ) |
| pointer | operator->() |
Protected Functions ​
| Name | |
|---|---|
| ForwardIteratorBase() | |
| reference | dereference() const<br>Return a reference to the current element (reference to a value type, not a pointer). |
| bool | equals(const Iterator & b) const<br>Determines whether this iterator is pointing to the same element as another one (used by the == operator) |
| void | next()<br>Advance the iterator. |
| pointer | ptr() const<br>Return a raw pointer to the current element. |
| Iterator * | self()<br>CRTP self pointer (pointer to the derived type) |
| const Iterator * | self() const<br>CRTP const self pointer. |
| bool | valid() const<br>Check whether the iterator is pointing at a valid element (eg. not the end of a container) |
Friends ​
| Name | |
|---|---|
| bool | operator!=(const Iterator & a, const Iterator & b) |
| bool | operator==(const Iterator & a, const Iterator & b) |
Detailed Description ​
cpp
template <typename Iterator ,
typename Value ,
bool IsConst>
class ForwardIteratorBase;template <typename Iterator ,
typename Value ,
bool IsConst>
class ForwardIteratorBase;Public Types Documentation ​
using difference_type ​
cpp
using ForwardIteratorBase< Iterator, Value, IsConst >::difference_type = std::ptrdiff_t;using ForwardIteratorBase< Iterator, Value, IsConst >::difference_type = std::ptrdiff_t;using iterator_category ​
cpp
using ForwardIteratorBase< Iterator, Value, IsConst >::iterator_category = std::forward_iterator_tag;using ForwardIteratorBase< Iterator, Value, IsConst >::iterator_category = std::forward_iterator_tag;using pointer ​
cpp
using ForwardIteratorBase< Iterator, Value, IsConst >::pointer = typename std::conditional<IsConst, const Value*, Value*>::type;using ForwardIteratorBase< Iterator, Value, IsConst >::pointer = typename std::conditional<IsConst, const Value*, Value*>::type;using reference ​
cpp
using ForwardIteratorBase< Iterator, Value, IsConst >::reference = typename std::conditional<IsConst, const Value&, Value&>::type;using ForwardIteratorBase< Iterator, Value, IsConst >::reference = typename std::conditional<IsConst, const Value&, Value&>::type;using value_type ​
cpp
using ForwardIteratorBase< Iterator, Value, IsConst >::value_type = typename std::conditional<IsConst, const Value, Value>::type;using ForwardIteratorBase< Iterator, Value, IsConst >::value_type = typename std::conditional<IsConst, const Value, Value>::type;Public Functions Documentation ​
function operator* ​
cpp
inline reference operator*()inline reference operator*()function operator++ ​
cpp
inline Iterator & operator++()inline Iterator & operator++()function operator++ ​
cpp
inline Iterator operator++(
int
)inline Iterator operator++(
int
)function operator-> ​
cpp
inline pointer operator->()inline pointer operator->()Protected Functions Documentation ​
function ForwardIteratorBase ​
cpp
inline ForwardIteratorBase()inline ForwardIteratorBase()function dereference ​
cpp
inline reference dereference() constinline reference dereference() constReturn a reference to the current element (reference to a value type, not a pointer).
function equals ​
cpp
inline bool equals(
const Iterator & b
) constinline bool equals(
const Iterator & b
) constDetermines whether this iterator is pointing to the same element as another one (used by the == operator)
function next ​
cpp
inline void next()inline void next()Advance the iterator.
function ptr ​
cpp
inline pointer ptr() constinline pointer ptr() constReturn a raw pointer to the current element.
function self ​
cpp
inline Iterator * self()inline Iterator * self()CRTP self pointer (pointer to the derived type)
function self ​
cpp
inline const Iterator * self() constinline const Iterator * self() constCRTP const self pointer.
function valid ​
cpp
inline bool valid() constinline bool valid() constCheck whether the iterator is pointing at a valid element (eg. not the end of a container)
Friends ​
friend operator!= ​
cpp
friend bool operator!=(
const Iterator & a,
const Iterator & b
);friend bool operator!=(
const Iterator & a,
const Iterator & b
);friend operator== ​
cpp
friend bool operator==(
const Iterator & a,
const Iterator & b
);friend bool operator==(
const Iterator & a,
const Iterator & b
);Updated on 2026-05-21 at 15:39:35 +0000