CppNCorr
C++ ncorr Digital Image Correlation engine
Loading...
Searching...
No Matches
ncorr::details::base_iterator< T_container > Class Template Referenceabstract
Inheritance diagram for ncorr::details::base_iterator< T_container >:
ncorr::details::bool_iterator< T_container > ncorr::details::simple_iterator< T_container > ncorr::details::sub_iterator< T_container >

Public Types

typedef std::bidirectional_iterator_tag iterator_category
 
typedef T_container::value_type value_type
 
typedef T_container::size_type size_type
 
typedef T_container::difference_type difference_type
 
typedef T_container::coords coords
 
typedef container_traits< T_container >::pointer pointer
 
typedef container_traits< T_container >::reference reference
 
typedef container_traits< T_container >::nonconst_container nonconst_container
 
typedef container_traits< T_container >::container container
 
typedef container_traits< T_container >::const_container const_container
 

Public Member Functions

 base_iterator () noexcept
 
 base_iterator (const base_iterator &) noexcept=default
 
 base_iterator (base_iterator &&) noexcept=default
 
base_iteratoroperator= (const base_iterator &)=default
 
base_iteratoroperator= (base_iterator &&)=default
 
virtual ~base_iterator () noexcept=default
 
 base_iterator (container &A, difference_type p)
 
template<typename T_container2 >
 base_iterator (const base_iterator< T_container2 > &it, typename std::enable_if< std::is_same< T_container2, nonconst_container >::value, int >::type=0)
 
difference_type pos () const
 
coords pos_2D () const
 
reference operator* () const
 
virtual base_iteratoroperator++ ()=0
 
virtual base_iteratoroperator-- ()=0
 
template<typename T_container2 >
std::enable_if< std::is_same< typenamecontainer_traits< T_container2 >::nonconst_container, nonconst_container >::value, bool >::type operator== (const base_iterator< T_container2 > &it) const
 
template<typename T_container2 >
std::enable_if< std::is_same< typenamecontainer_traits< T_container2 >::nonconst_container, nonconst_container >::value, bool >::type operator!= (const base_iterator< T_container2 > &it) const
 
virtual base_iteratorclone () const =0
 
virtual base_iterator< const_container > * const_clone () const =0
 

Public Attributes

friend container
 

Protected Member Functions

void chk_valid_increment () const
 
void chk_valid_decrement () const
 
void chk_in_range () const
 

Protected Attributes

containerA_ptr
 
difference_type p
 

Friends

template<typename T_container2 >
class base_iterator
 

Detailed Description

template<typename T_container>
class ncorr::details::base_iterator< T_container >

Definition at line 607 of file Array2D.h.

Member Typedef Documentation

◆ const_container

template<typename T_container >
typedef container_traits<T_container>::const_container ncorr::details::base_iterator< T_container >::const_container

Definition at line 619 of file Array2D.h.

◆ container

template<typename T_container >
typedef container_traits<T_container>::container ncorr::details::base_iterator< T_container >::container

Definition at line 618 of file Array2D.h.

◆ coords

template<typename T_container >
typedef T_container::coords ncorr::details::base_iterator< T_container >::coords

Definition at line 614 of file Array2D.h.

◆ difference_type

template<typename T_container >
typedef T_container::difference_type ncorr::details::base_iterator< T_container >::difference_type

Definition at line 613 of file Array2D.h.

◆ iterator_category

template<typename T_container >
typedef std::bidirectional_iterator_tag ncorr::details::base_iterator< T_container >::iterator_category

Definition at line 610 of file Array2D.h.

◆ nonconst_container

template<typename T_container >
typedef container_traits<T_container>::nonconst_container ncorr::details::base_iterator< T_container >::nonconst_container

Definition at line 617 of file Array2D.h.

◆ pointer

template<typename T_container >
typedef container_traits<T_container>::pointer ncorr::details::base_iterator< T_container >::pointer

Definition at line 615 of file Array2D.h.

◆ reference

template<typename T_container >
typedef container_traits<T_container>::reference ncorr::details::base_iterator< T_container >::reference

Definition at line 616 of file Array2D.h.

◆ size_type

template<typename T_container >
typedef T_container::size_type ncorr::details::base_iterator< T_container >::size_type

Definition at line 612 of file Array2D.h.

◆ value_type

template<typename T_container >
typedef T_container::value_type ncorr::details::base_iterator< T_container >::value_type

Definition at line 611 of file Array2D.h.

Constructor & Destructor Documentation

◆ base_iterator() [1/5]

template<typename T_container >
ncorr::details::base_iterator< T_container >::base_iterator ( )
inlinenoexcept

Definition at line 626 of file Array2D.h.

◆ base_iterator() [2/5]

template<typename T_container >
ncorr::details::base_iterator< T_container >::base_iterator ( const base_iterator< T_container > &  )
defaultnoexcept

◆ base_iterator() [3/5]

template<typename T_container >
ncorr::details::base_iterator< T_container >::base_iterator ( base_iterator< T_container > &&  )
defaultnoexcept

◆ ~base_iterator()

template<typename T_container >
virtual ncorr::details::base_iterator< T_container >::~base_iterator ( )
virtualdefaultnoexcept

◆ base_iterator() [4/5]

template<typename T_container >
ncorr::details::base_iterator< T_container >::base_iterator ( container A,
difference_type  p 
)
inline

Definition at line 634 of file Array2D.h.

◆ base_iterator() [5/5]

template<typename T_container >
template<typename T_container2 >
ncorr::details::base_iterator< T_container >::base_iterator ( const base_iterator< T_container2 > &  it,
typename std::enable_if< std::is_same< T_container2, nonconst_container >::value, int >::type  = 0 
)
inline

Definition at line 637 of file Array2D.h.

Member Function Documentation

◆ chk_in_range()

template<typename T_container >
void ncorr::details::base_iterator< T_container >::chk_in_range ( ) const
protected

Definition at line 3143 of file Array2D.h.

◆ chk_valid_decrement()

template<typename T_container >
void ncorr::details::base_iterator< T_container >::chk_valid_decrement ( ) const
protected

Definition at line 3136 of file Array2D.h.

◆ chk_valid_increment()

template<typename T_container >
void ncorr::details::base_iterator< T_container >::chk_valid_increment ( ) const
protected

Definition at line 3129 of file Array2D.h.

◆ clone()

◆ const_clone()

◆ operator!=()

template<typename T_container >
template<typename T_container2 >
std::enable_if< std::is_same< typenamecontainer_traits< T_container2 >::nonconst_container, nonconst_container >::value, bool >::type ncorr::details::base_iterator< T_container >::operator!= ( const base_iterator< T_container2 > &  it) const
inline

Definition at line 653 of file Array2D.h.

◆ operator*()

template<typename T_container >
base_iterator< T_container >::reference ncorr::details::base_iterator< T_container >::operator* ( ) const

Definition at line 3122 of file Array2D.h.

◆ operator++()

◆ operator--()

◆ operator=() [1/2]

template<typename T_container >
base_iterator & ncorr::details::base_iterator< T_container >::operator= ( base_iterator< T_container > &&  )
default

◆ operator=() [2/2]

template<typename T_container >
base_iterator & ncorr::details::base_iterator< T_container >::operator= ( const base_iterator< T_container > &  )
default

◆ operator==()

template<typename T_container >
template<typename T_container2 >
std::enable_if< std::is_same< typenamecontainer_traits< T_container2 >::nonconst_container, nonconst_container >::value, bool >::type ncorr::details::base_iterator< T_container >::operator== ( const base_iterator< T_container2 > &  it) const
inline

Definition at line 649 of file Array2D.h.

◆ pos()

template<typename T_container >
difference_type ncorr::details::base_iterator< T_container >::pos ( ) const
inline

Definition at line 640 of file Array2D.h.

◆ pos_2D()

template<typename T_container >
coords ncorr::details::base_iterator< T_container >::pos_2D ( ) const
inline

Definition at line 641 of file Array2D.h.

Friends And Related Symbol Documentation

◆ base_iterator

template<typename T_container >
template<typename T_container2 >
friend class base_iterator
friend

Definition at line 622 of file Array2D.h.

Member Data Documentation

◆ A_ptr

template<typename T_container >
container* ncorr::details::base_iterator< T_container >::A_ptr
protected

Definition at line 667 of file Array2D.h.

◆ container

template<typename T_container >
friend ncorr::details::base_iterator< T_container >::container

Definition at line 623 of file Array2D.h.

◆ p

template<typename T_container >
difference_type ncorr::details::base_iterator< T_container >::p
protected

Definition at line 668 of file Array2D.h.


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