Stratax 0.3.1
Loading...
Searching...
No Matches
stratax::core::ArrayView< T >::basic_iterator< IsConst > Class Template Reference

Public Types

using iterator_concept = std::random_access_iterator_tag
 
using iterator_category = std::random_access_iterator_tag
 
using value_type = ArrayView::value_type
 
using difference_type = std::ptrdiff_t
 
using reference = std::conditional_t< IsConst, const_reference, ArrayView::reference >
 

Public Member Functions

 basic_iterator (view_type *view, size_type index) noexcept
 
template<bool OtherConst>
requires (IsConst && !OtherConst)
 basic_iterator (const basic_iterator< OtherConst > &other) noexcept
 
reference operator* () const
 
reference operator[] (difference_type offset) const
 
basic_iteratoroperator++ ()
 
basic_iterator operator++ (int)
 
basic_iteratoroperator-- ()
 
basic_iterator operator-- (int)
 
basic_iteratoroperator+= (difference_type offset)
 
basic_iteratoroperator-= (difference_type offset)
 

Friends

basic_iterator operator+ (basic_iterator iterator, difference_type offset)
 
basic_iterator operator+ (difference_type offset, basic_iterator iterator)
 
basic_iterator operator- (basic_iterator iterator, difference_type offset)
 
difference_type operator- (const basic_iterator &lhs, const basic_iterator &rhs)
 
bool operator== (const basic_iterator &, const basic_iterator &)=default
 
auto operator<=> (const basic_iterator &lhs, const basic_iterator &rhs)
 

Detailed Description

template<typename T>
template<bool IsConst>
class stratax::core::ArrayView< T >::basic_iterator< IsConst >

Definition at line 31 of file ArrayView.hpp.

Member Typedef Documentation

◆ difference_type

template<typename T >
template<bool IsConst>
using stratax::core::ArrayView< T >::basic_iterator< IsConst >::difference_type = std::ptrdiff_t

Definition at line 43 of file ArrayView.hpp.

◆ iterator_category

template<typename T >
template<bool IsConst>
using stratax::core::ArrayView< T >::basic_iterator< IsConst >::iterator_category = std::random_access_iterator_tag

Definition at line 41 of file ArrayView.hpp.

◆ iterator_concept

template<typename T >
template<bool IsConst>
using stratax::core::ArrayView< T >::basic_iterator< IsConst >::iterator_concept = std::random_access_iterator_tag

Definition at line 40 of file ArrayView.hpp.

◆ reference

template<typename T >
template<bool IsConst>
using stratax::core::ArrayView< T >::basic_iterator< IsConst >::reference = std::conditional_t<IsConst, const_reference, ArrayView::reference>

Definition at line 44 of file ArrayView.hpp.

◆ value_type

template<typename T >
template<bool IsConst>
using stratax::core::ArrayView< T >::basic_iterator< IsConst >::value_type = ArrayView::value_type

Definition at line 42 of file ArrayView.hpp.

Constructor & Destructor Documentation

◆ basic_iterator() [1/2]

template<typename T >
template<bool IsConst>
stratax::core::ArrayView< T >::basic_iterator< IsConst >::basic_iterator ( view_type *  view,
size_type  index 
)
inlinenoexcept

Definition at line 47 of file ArrayView.hpp.

◆ basic_iterator() [2/2]

template<typename T >
template<bool IsConst>
template<bool OtherConst>
requires (IsConst && !OtherConst)
stratax::core::ArrayView< T >::basic_iterator< IsConst >::basic_iterator ( const basic_iterator< OtherConst > &  other)
inlinenoexcept

Definition at line 53 of file ArrayView.hpp.

Member Function Documentation

◆ operator*()

template<typename T >
template<bool IsConst>
reference stratax::core::ArrayView< T >::basic_iterator< IsConst >::operator* ( ) const
inline

Definition at line 57 of file ArrayView.hpp.

◆ operator++() [1/2]

template<typename T >
template<bool IsConst>
basic_iterator & stratax::core::ArrayView< T >::basic_iterator< IsConst >::operator++ ( )
inline

Definition at line 60 of file ArrayView.hpp.

◆ operator++() [2/2]

template<typename T >
template<bool IsConst>
basic_iterator stratax::core::ArrayView< T >::basic_iterator< IsConst >::operator++ ( int  )
inline

Definition at line 61 of file ArrayView.hpp.

◆ operator+=()

template<typename T >
template<bool IsConst>
basic_iterator & stratax::core::ArrayView< T >::basic_iterator< IsConst >::operator+= ( difference_type  offset)
inline

Definition at line 65 of file ArrayView.hpp.

◆ operator--() [1/2]

template<typename T >
template<bool IsConst>
basic_iterator & stratax::core::ArrayView< T >::basic_iterator< IsConst >::operator-- ( )
inline

Definition at line 62 of file ArrayView.hpp.

◆ operator--() [2/2]

template<typename T >
template<bool IsConst>
basic_iterator stratax::core::ArrayView< T >::basic_iterator< IsConst >::operator-- ( int  )
inline

Definition at line 63 of file ArrayView.hpp.

◆ operator-=()

template<typename T >
template<bool IsConst>
basic_iterator & stratax::core::ArrayView< T >::basic_iterator< IsConst >::operator-= ( difference_type  offset)
inline

Definition at line 71 of file ArrayView.hpp.

◆ operator[]()

template<typename T >
template<bool IsConst>
reference stratax::core::ArrayView< T >::basic_iterator< IsConst >::operator[] ( difference_type  offset) const
inline

Definition at line 58 of file ArrayView.hpp.

Friends And Related Symbol Documentation

◆ basic_iterator

template<typename T >
template<bool IsConst>
template<bool >
friend class basic_iterator
friend

Definition at line 103 of file ArrayView.hpp.

◆ operator+ [1/2]

template<typename T >
template<bool IsConst>
basic_iterator operator+ ( basic_iterator< IsConst >  iterator,
difference_type  offset 
)
friend

Definition at line 73 of file ArrayView.hpp.

◆ operator+ [2/2]

template<typename T >
template<bool IsConst>
basic_iterator operator+ ( difference_type  offset,
basic_iterator< IsConst >  iterator 
)
friend

Definition at line 79 of file ArrayView.hpp.

◆ operator- [1/2]

template<typename T >
template<bool IsConst>
basic_iterator operator- ( basic_iterator< IsConst >  iterator,
difference_type  offset 
)
friend

Definition at line 84 of file ArrayView.hpp.

◆ operator- [2/2]

template<typename T >
template<bool IsConst>
difference_type operator- ( const basic_iterator< IsConst > &  lhs,
const basic_iterator< IsConst > &  rhs 
)
friend

Definition at line 90 of file ArrayView.hpp.

◆ operator<=>

template<typename T >
template<bool IsConst>
auto operator<=> ( const basic_iterator< IsConst > &  lhs,
const basic_iterator< IsConst > &  rhs 
)
friend

Definition at line 97 of file ArrayView.hpp.


The documentation for this class was generated from the following file: