CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator > Class Template Reference

#include <CeresEngine/Foundation/Container/MemoryView.hpp>

Public Types

using Self = std::conditional_t< IsConstIterator, const StridedMemoryView, StridedMemoryView >
 
using iterator_category = std::random_access_iterator_tag
 
using difference_type = std::ptrdiff_t
 
using value_type = typename Self::value_type
 
using pointer = typename Self::pointer
 
using const_pointer = typename Self::const_pointer
 
using reference = typename Self::reference
 
using const_reference = typename Self::const_reference
 
using DifferenceType = difference_type
 
using ValueType = value_type
 
using Pointer = pointer
 
using ConstPointer = const_pointer
 
using Reference = reference
 
using ConstReference = const_reference
 

Public Member Functions

 IteratorImpl (Self &memoryView, const SizeType index=0)
 
 IteratorImpl (Self *memoryView, const SizeType index=0)
 
reference operator* () const noexcept
 
const_reference operator* () const noexcept
 
pointer operator-> () const noexcept
 
const_pointer operator-> () const noexcept
 
IteratorImpl operator++ (int) noexcept
 
IteratorImploperator++ () noexcept
 
IteratorImpl operator+ (const DifferenceType n) noexcept
 
IteratorImpl operator-- (int) noexcept
 
IteratorImploperator-- () noexcept
 
IteratorImpl operator- (const DifferenceType n) noexcept
 

Public Attributes

SelfmMemoryView = nullptr
 
SizeType mIndex = 0
 

Friends

bool operator== (const IteratorImpl &lhs, const IteratorImpl &rhs)
 
bool operator!= (const IteratorImpl &lhs, const IteratorImpl &rhs)
 

Member Typedef Documentation

◆ const_pointer

template<typename T >
template<bool IsConstIterator>
using CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::const_pointer = typename Self::const_pointer

◆ const_reference

template<typename T >
template<bool IsConstIterator>
using CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::const_reference = typename Self::const_reference

◆ ConstPointer

template<typename T >
template<bool IsConstIterator>
using CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::ConstPointer = const_pointer

◆ ConstReference

template<typename T >
template<bool IsConstIterator>
using CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::ConstReference = const_reference

◆ difference_type

template<typename T >
template<bool IsConstIterator>
using CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::difference_type = std::ptrdiff_t

◆ DifferenceType

template<typename T >
template<bool IsConstIterator>
using CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::DifferenceType = difference_type

◆ iterator_category

template<typename T >
template<bool IsConstIterator>
using CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::iterator_category = std::random_access_iterator_tag

◆ pointer

template<typename T >
template<bool IsConstIterator>
using CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::pointer = typename Self::pointer

◆ Pointer

template<typename T >
template<bool IsConstIterator>
using CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::Pointer = pointer

◆ reference

template<typename T >
template<bool IsConstIterator>
using CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::reference = typename Self::reference

◆ Reference

template<typename T >
template<bool IsConstIterator>
using CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::Reference = reference

◆ Self

◆ value_type

template<typename T >
template<bool IsConstIterator>
using CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::value_type = typename Self::value_type

◆ ValueType

template<typename T >
template<bool IsConstIterator>
using CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::ValueType = value_type

Constructor & Destructor Documentation

◆ IteratorImpl() [1/2]

template<typename T >
template<bool IsConstIterator>
CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::IteratorImpl ( Self memoryView,
const SizeType  index = 0 
)
inlineexplicit

◆ IteratorImpl() [2/2]

template<typename T >
template<bool IsConstIterator>
CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::IteratorImpl ( Self memoryView,
const SizeType  index = 0 
)
inlineexplicit

Member Function Documentation

◆ operator*() [1/2]

template<typename T >
template<bool IsConstIterator>
reference CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::operator* ( ) const
inlinenoexcept

◆ operator*() [2/2]

template<typename T >
template<bool IsConstIterator>
const_reference CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::operator* ( ) const
inlinenoexcept

◆ operator+()

template<typename T >
template<bool IsConstIterator>
IteratorImpl CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::operator+ ( const DifferenceType  n)
inlinenoexcept

◆ operator++() [1/2]

template<typename T >
template<bool IsConstIterator>
IteratorImpl & CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::operator++ ( )
inlinenoexcept

◆ operator++() [2/2]

template<typename T >
template<bool IsConstIterator>
IteratorImpl CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::operator++ ( int  )
inlinenoexcept

◆ operator-()

template<typename T >
template<bool IsConstIterator>
IteratorImpl CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::operator- ( const DifferenceType  n)
inlinenoexcept

◆ operator--() [1/2]

template<typename T >
template<bool IsConstIterator>
IteratorImpl & CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::operator-- ( )
inlinenoexcept

◆ operator--() [2/2]

template<typename T >
template<bool IsConstIterator>
IteratorImpl CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::operator-- ( int  )
inlinenoexcept

◆ operator->() [1/2]

template<typename T >
template<bool IsConstIterator>
pointer CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::operator-> ( ) const
inlinenoexcept

◆ operator->() [2/2]

template<typename T >
template<bool IsConstIterator>
const_pointer CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::operator-> ( ) const
inlinenoexcept

Friends And Related Symbol Documentation

◆ operator!=

template<typename T >
template<bool IsConstIterator>
bool operator!= ( const IteratorImpl< IsConstIterator > &  lhs,
const IteratorImpl< IsConstIterator > &  rhs 
)
friend

◆ operator==

template<typename T >
template<bool IsConstIterator>
bool operator== ( const IteratorImpl< IsConstIterator > &  lhs,
const IteratorImpl< IsConstIterator > &  rhs 
)
friend

Member Data Documentation

◆ mIndex

template<typename T >
template<bool IsConstIterator>
SizeType CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::mIndex = 0

◆ mMemoryView

template<typename T >
template<bool IsConstIterator>
Self* CeresEngine::StridedMemoryView< T >::IteratorImpl< IsConstIterator >::mMemoryView = nullptr

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