Nui
Public Types | Public Member Functions | Friends | List of all members
Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT > Class Template Reference

#include <observed_value.hpp>

Public Types

using iterator_category = std::random_access_iterator_tag
 
using value_type = typename WrappedIterator::value_type
 
using difference_type = typename WrappedIterator::difference_type
 
using pointer = PointerWrapper< value_type, ContainerT >
 
using reference = ReferenceWrapper< value_type, ContainerT >
 

Public Member Functions

 IteratorWrapper (ObservedContainer< ContainerT > *owner, WrappedIterator it)
 
 IteratorWrapper (IteratorWrapper const &)=default
 
 IteratorWrapper (IteratorWrapper &&)=default
 
IteratorWrapperoperator= (IteratorWrapper const &)=default
 
IteratorWrapperoperator= (IteratorWrapper &&)=default
 
IteratorWrapperoperator+= (difference_type n)
 
IteratorWrapperoperator-= (difference_type n)
 
IteratorWrapperoperator++ ()
 
IteratorWrapper operator++ (int)
 
IteratorWrapperoperator-- ()
 
IteratorWrapper operator-- (int)
 
difference_type operator- (IteratorWrapper const &other) const
 
auto operator* ()
 
auto operator* () const
 
auto operator-> ()
 
auto operator-> () const
 
IteratorWrapper operator[] (std::size_t offset) const
 
bool operator< (IteratorWrapper const &other) const
 
bool operator> (IteratorWrapper const &other) const
 
bool operator<= (IteratorWrapper const &other) const
 
bool operator>= (IteratorWrapper const &other) const
 
bool operator== (IteratorWrapper const &other) const
 
WrappedIterator getWrapped () const
 

Friends

IteratorWrapper operator+ (IteratorWrapper const &wrap, difference_type n)
 
IteratorWrapper operator- (IteratorWrapper const &wrap, difference_type n)
 

Member Typedef Documentation

◆ difference_type

template<typename WrappedIterator , typename ContainerT >
using Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::difference_type = typename WrappedIterator::difference_type

◆ iterator_category

template<typename WrappedIterator , typename ContainerT >
using Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::iterator_category = std::random_access_iterator_tag

◆ pointer

template<typename WrappedIterator , typename ContainerT >
using Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::pointer = PointerWrapper<value_type, ContainerT>

◆ reference

template<typename WrappedIterator , typename ContainerT >
using Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::reference = ReferenceWrapper<value_type, ContainerT>

◆ value_type

template<typename WrappedIterator , typename ContainerT >
using Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::value_type = typename WrappedIterator::value_type

Constructor & Destructor Documentation

◆ IteratorWrapper() [1/3]

template<typename WrappedIterator , typename ContainerT >
Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::IteratorWrapper ( ObservedContainer< ContainerT > *  owner,
WrappedIterator  it 
)
inline

◆ IteratorWrapper() [2/3]

template<typename WrappedIterator , typename ContainerT >
Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::IteratorWrapper ( IteratorWrapper< WrappedIterator, ContainerT > const &  )
default

◆ IteratorWrapper() [3/3]

template<typename WrappedIterator , typename ContainerT >
Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::IteratorWrapper ( IteratorWrapper< WrappedIterator, ContainerT > &&  )
default

Member Function Documentation

◆ getWrapped()

template<typename WrappedIterator , typename ContainerT >
WrappedIterator Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::getWrapped ( ) const
inline

◆ operator*() [1/2]

template<typename WrappedIterator , typename ContainerT >
auto Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator* ( )
inline

◆ operator*() [2/2]

template<typename WrappedIterator , typename ContainerT >
auto Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator* ( ) const
inline

◆ operator++() [1/2]

template<typename WrappedIterator , typename ContainerT >
IteratorWrapper& Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename WrappedIterator , typename ContainerT >
IteratorWrapper Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator++ ( int  )
inline

◆ operator+=()

template<typename WrappedIterator , typename ContainerT >
IteratorWrapper& Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator+= ( difference_type  n)
inline

◆ operator-()

template<typename WrappedIterator , typename ContainerT >
difference_type Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator- ( IteratorWrapper< WrappedIterator, ContainerT > const &  other) const
inline

◆ operator--() [1/2]

template<typename WrappedIterator , typename ContainerT >
IteratorWrapper& Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator-- ( )
inline

◆ operator--() [2/2]

template<typename WrappedIterator , typename ContainerT >
IteratorWrapper Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator-- ( int  )
inline

◆ operator-=()

template<typename WrappedIterator , typename ContainerT >
IteratorWrapper& Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator-= ( difference_type  n)
inline

◆ operator->() [1/2]

template<typename WrappedIterator , typename ContainerT >
auto Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator-> ( )
inline

◆ operator->() [2/2]

template<typename WrappedIterator , typename ContainerT >
auto Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator-> ( ) const
inline

◆ operator<()

template<typename WrappedIterator , typename ContainerT >
bool Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator< ( IteratorWrapper< WrappedIterator, ContainerT > const &  other) const
inline

◆ operator<=()

template<typename WrappedIterator , typename ContainerT >
bool Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator<= ( IteratorWrapper< WrappedIterator, ContainerT > const &  other) const
inline

◆ operator=() [1/2]

template<typename WrappedIterator , typename ContainerT >
IteratorWrapper& Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator= ( IteratorWrapper< WrappedIterator, ContainerT > &&  )
default

◆ operator=() [2/2]

template<typename WrappedIterator , typename ContainerT >
IteratorWrapper& Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator= ( IteratorWrapper< WrappedIterator, ContainerT > const &  )
default

◆ operator==()

template<typename WrappedIterator , typename ContainerT >
bool Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator== ( IteratorWrapper< WrappedIterator, ContainerT > const &  other) const
inline

◆ operator>()

template<typename WrappedIterator , typename ContainerT >
bool Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator> ( IteratorWrapper< WrappedIterator, ContainerT > const &  other) const
inline

◆ operator>=()

template<typename WrappedIterator , typename ContainerT >
bool Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator>= ( IteratorWrapper< WrappedIterator, ContainerT > const &  other) const
inline

◆ operator[]()

template<typename WrappedIterator , typename ContainerT >
IteratorWrapper Nui::ContainerWrapUtility::IteratorWrapper< WrappedIterator, ContainerT >::operator[] ( std::size_t  offset) const
inline

Friends And Related Function Documentation

◆ operator+

template<typename WrappedIterator , typename ContainerT >
IteratorWrapper operator+ ( IteratorWrapper< WrappedIterator, ContainerT > const &  wrap,
difference_type  n 
)
friend

◆ operator-

template<typename WrappedIterator , typename ContainerT >
IteratorWrapper operator- ( IteratorWrapper< WrappedIterator, ContainerT > const &  wrap,
difference_type  n 
)
friend

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