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-09-02 at 12:24:53 +0000