MeVisLab Toolbox Reference
ml::ContainerProxy< T, R, I, Count, Access >::iterator Class Reference

#include <mlContainerHelpers.h>

Public Types

using iterator_category = std::bidirectional_iterator_tag
 
using value_type = typename ContainerProxy::value_type
 
using difference_type = ptrdiff_t
 
using pointer = value_type
 
using const_pointer = const pointer
 
using reference = value_type
 
using const_reference = const reference
 

Public Member Functions

 iterator (const ContainerProxy &proxy, I index)
 
 iterator (const iterator &)=default
 
iteratoroperator= (const iterator &)=default
 
 iterator (iterator &&)=default
 
iteratoroperator= (iterator &&)=default
 
I index () const
 
reference operator* () const
 
pointer operator-> () const
 
iteratoroperator++ ()
 
iterator operator++ (int)
 
iteratoroperator-- ()
 
iterator operator-- (int)
 

Friends

bool operator== (const iterator &x, const iterator &y)
 
bool operator!= (const iterator &x, const iterator &y)
 

Detailed Description

template<class T, class R, typename I, I(T::*)() const Count, R *(T::*)(I) const Access>
class ml::ContainerProxy< T, R, I, Count, Access >::iterator

Definition at line 81 of file mlContainerHelpers.h.

Member Typedef Documentation

◆ const_pointer

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
using ml::ContainerProxy< T, R, I, Count, Access >::iterator::const_pointer = const pointer

Definition at line 88 of file mlContainerHelpers.h.

◆ const_reference

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
using ml::ContainerProxy< T, R, I, Count, Access >::iterator::const_reference = const reference

Definition at line 90 of file mlContainerHelpers.h.

◆ difference_type

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
using ml::ContainerProxy< T, R, I, Count, Access >::iterator::difference_type = ptrdiff_t

Definition at line 86 of file mlContainerHelpers.h.

◆ iterator_category

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
using ml::ContainerProxy< T, R, I, Count, Access >::iterator::iterator_category = std::bidirectional_iterator_tag

Definition at line 84 of file mlContainerHelpers.h.

◆ pointer

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
using ml::ContainerProxy< T, R, I, Count, Access >::iterator::pointer = value_type

Definition at line 87 of file mlContainerHelpers.h.

◆ reference

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
using ml::ContainerProxy< T, R, I, Count, Access >::iterator::reference = value_type

Definition at line 89 of file mlContainerHelpers.h.

◆ value_type

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
using ml::ContainerProxy< T, R, I, Count, Access >::iterator::value_type = typename ContainerProxy::value_type

Definition at line 85 of file mlContainerHelpers.h.

Constructor & Destructor Documentation

◆ iterator() [1/3]

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
ml::ContainerProxy< T, R, I, Count, Access >::iterator::iterator ( const ContainerProxy & proxy,
I index )
inline

Definition at line 92 of file mlContainerHelpers.h.

◆ iterator() [2/3]

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
ml::ContainerProxy< T, R, I, Count, Access >::iterator::iterator ( const iterator & )
default

◆ iterator() [3/3]

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
ml::ContainerProxy< T, R, I, Count, Access >::iterator::iterator ( iterator && )
default

Member Function Documentation

◆ index()

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
I ml::ContainerProxy< T, R, I, Count, Access >::iterator::index ( ) const
inline

Definition at line 103 of file mlContainerHelpers.h.

◆ operator*()

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
reference ml::ContainerProxy< T, R, I, Count, Access >::iterator::operator* ( ) const
inline

Definition at line 105 of file mlContainerHelpers.h.

◆ operator++() [1/2]

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
iterator & ml::ContainerProxy< T, R, I, Count, Access >::iterator::operator++ ( )
inline

Definition at line 115 of file mlContainerHelpers.h.

◆ operator++() [2/2]

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
iterator ml::ContainerProxy< T, R, I, Count, Access >::iterator::operator++ ( int )
inline

Definition at line 121 of file mlContainerHelpers.h.

References mlrange_cast().

◆ operator--() [1/2]

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
iterator & ml::ContainerProxy< T, R, I, Count, Access >::iterator::operator-- ( )
inline

Definition at line 128 of file mlContainerHelpers.h.

◆ operator--() [2/2]

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
iterator ml::ContainerProxy< T, R, I, Count, Access >::iterator::operator-- ( int )
inline

Definition at line 134 of file mlContainerHelpers.h.

References mlrange_cast().

◆ operator->()

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
pointer ml::ContainerProxy< T, R, I, Count, Access >::iterator::operator-> ( ) const
inline

Definition at line 110 of file mlContainerHelpers.h.

References ml::operator*().

◆ operator=() [1/2]

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
iterator & ml::ContainerProxy< T, R, I, Count, Access >::iterator::operator= ( const iterator & )
default

◆ operator=() [2/2]

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
iterator & ml::ContainerProxy< T, R, I, Count, Access >::iterator::operator= ( iterator && )
default

Friends And Related Symbol Documentation

◆ operator!=

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
bool operator!= ( const iterator & x,
const iterator & y )
friend

Definition at line 146 of file mlContainerHelpers.h.

◆ operator==

template<class T , class R , typename I , I(T::*)() const Count, R *(T::*)(I) const Access>
bool operator== ( const iterator & x,
const iterator & y )
friend

Definition at line 141 of file mlContainerHelpers.h.


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