Public Types | Public Member Functions | Public Attributes | List of all members
ecvl::Iterator< T > Struct Template Reference

#include <iterators.h>

Public Types

using difference_type = std::ptrdiff_t
 
using value_type = T
 
using pointer = value_type *
 
using reference = value_type &
 
using iterator_category = std::forward_iterator_tag
 
typedef Iterator &(Iterator::* IncrementMemFn) ()
 

Public Member Functions

 Iterator (Image &img, std::vector< int > pos={})
 
Iteratoroperator++ ()
 
T & operator * () const
 
T * operator-> () const
 
bool operator== (const Iterator &rhs) const
 
bool operator!= (const Iterator &rhs) const
 

Public Attributes

std::vector< int > pos_
 
uint8_t * ptr_
 
Imageimg_
 
IncrementMemFn incrementor = &Iterator<T>::IncrementPos
 

Detailed Description

template<typename T>
struct ecvl::Iterator< T >

Definition at line 25 of file iterators.h.

Member Typedef Documentation

◆ difference_type

template<typename T >
using ecvl::Iterator< T >::difference_type = std::ptrdiff_t

Definition at line 27 of file iterators.h.

◆ IncrementMemFn

template<typename T >
typedef Iterator&(Iterator::* ecvl::Iterator< T >::IncrementMemFn) ()

Definition at line 37 of file iterators.h.

◆ iterator_category

template<typename T >
using ecvl::Iterator< T >::iterator_category = std::forward_iterator_tag

Definition at line 31 of file iterators.h.

◆ pointer

template<typename T >
using ecvl::Iterator< T >::pointer = value_type*

Definition at line 29 of file iterators.h.

◆ reference

template<typename T >
using ecvl::Iterator< T >::reference = value_type&

Definition at line 30 of file iterators.h.

◆ value_type

template<typename T >
using ecvl::Iterator< T >::value_type = T

Definition at line 28 of file iterators.h.

Constructor & Destructor Documentation

◆ Iterator()

template<typename T >
Iterator::Iterator ( Image img,
std::vector< int >  pos = {} 
)

Definition at line 17 of file image.h.

Member Function Documentation

◆ operator *()

template<typename T >
T& ecvl::Iterator< T >::operator * ( ) const
inline

Definition at line 42 of file iterators.h.

◆ operator!=()

template<typename T >
bool ecvl::Iterator< T >::operator!= ( const Iterator< T > &  rhs) const
inline

Definition at line 45 of file iterators.h.

◆ operator++()

template<typename T >
Iterator& ecvl::Iterator< T >::operator++ ( )
inline

Definition at line 41 of file iterators.h.

◆ operator->()

template<typename T >
T* ecvl::Iterator< T >::operator-> ( ) const
inline

Definition at line 43 of file iterators.h.

◆ operator==()

template<typename T >
bool ecvl::Iterator< T >::operator== ( const Iterator< T > &  rhs) const
inline

Definition at line 44 of file iterators.h.

Member Data Documentation

◆ img_

template<typename T >
Image* ecvl::Iterator< T >::img_

Definition at line 35 of file iterators.h.

◆ incrementor

template<typename T >
IncrementMemFn ecvl::Iterator< T >::incrementor = &Iterator<T>::IncrementPos

Definition at line 38 of file iterators.h.

◆ pos_

template<typename T >
std::vector<int> ecvl::Iterator< T >::pos_

Definition at line 33 of file iterators.h.

◆ ptr_

template<typename T >
uint8_t* ecvl::Iterator< T >::ptr_

Definition at line 34 of file iterators.h.


The documentation for this struct was generated from the following files: