Sequoia
|
An iterator with policies controlling dereferencing and auxiliary data. More...
#include <Iterator.hpp>
Public Member Functions | |
template<class Arg , class... Args> requires (!resolve_to_copy_v<iterator, Arg, Args...>) | |
constexpr | explicit (sizeof...(Args)==0) iterator(Arg &&baseIterArg |
constexpr | iterator (const iterator &)=default |
constexpr | iterator (iterator &&) noexcept=default |
constexpr iterator & | operator= (const iterator &)=default |
constexpr iterator & | operator= (iterator &&) noexcept=default |
constexpr base_iterator_type | base_iterator () const noexcept |
constexpr reference | operator* () const |
constexpr reference | operator[] (const difference_type n) const |
constexpr pointer | operator-> () const |
constexpr iterator & | operator++ () |
constexpr iterator | operator++ (int) |
constexpr iterator & | operator+= (const difference_type n) |
constexpr iterator & | operator-- () |
constexpr iterator | operator-- (int) |
constexpr iterator & | operator-= (const difference_type n) |
Public Attributes | |
constexpr Args && | args: DereferencePolicy{std::forward<Args>(args)...} |
constexpr Args | m_BaseIterator |
Friends | |
constexpr iterator | operator+ (const iterator &it, const difference_type n) |
constexpr iterator | operator+ (const difference_type n, const iterator &it) |
constexpr iterator | operator- (const iterator &it, const difference_type n) |
constexpr difference_type | operator- (const iterator &lhs, const iterator &rhs) |
constexpr bool | operator== (const iterator &lhs, const iterator &rhs) noexcept |
constexpr auto | operator<=> (const iterator &lhs, const iterator &rhs) noexcept |
An iterator with policies controlling dereferencing and auxiliary data.
The DereferencePolicy allows customisation of the various dereferencing operators. In principle it is therefore possible that dereferencing will not return a reference, which can be useful. However, this can cause the semantics to be confusing if the underlying iterator is indirectly_writable. Therefore, this is forbidden.
constexpr Args sequoia::utilities::iterator< Iterator, DereferencePolicy >::m_BaseIterator |