Public Types | Public Member Functions | Private Attributes

DGtal::HyperRectDomain_Iterator< TPoint, TSize > Class Template Reference

#include <HyperRectDomain_Iterator.h>

Inheritance diagram for DGtal::HyperRectDomain_Iterator< TPoint, TSize >:
Inheritance graph
[legend]
Collaboration diagram for DGtal::HyperRectDomain_Iterator< TPoint, TSize >:
Collaboration graph
[legend]

Public Types

typedef
std::bidirectional_iterator_tag 
iterator_category
typedef TPoint value_type
typedef ptrdiff_t difference_type
typedef TPoint * pointer
typedef TPoint & reference
typedef TSize Size

Public Member Functions

 HyperRectDomain_Iterator (const TPoint &p, const TPoint &lower, const TPoint &upper)
 HyperRectDomain_Iterator (const TPoint &p, const TPoint &lower, const TPoint &upper, const std::vector< Size > &subDomain)
const TPoint & operator* () const
bool operator== (const HyperRectDomain_Iterator< TPoint, TSize > &it) const
bool operator!= (const HyperRectDomain_Iterator< TPoint, TSize > &aIt) const
void nextLexicographicOrder ()
void nextSubDomainOrder ()
HyperRectDomain_Iterator
< TPoint, TSize > & 
operator++ ()
HyperRectDomain_Iterator
< TPoint, TSize > 
operator++ (int)
void prevLexicographicOrder ()
void prevSubDomainOrder ()
HyperRectDomain_Iterator
< TPoint, TSize > & 
operator-- ()
HyperRectDomain_Iterator
< TPoint, TSize > & 
operator-- (int)

Private Attributes

TPoint myPoint
TPoint mylower
TPoint myupper
Size myCurrentPos
std::vector< SizemySubDomain
bool myUseSubDomain

Detailed Description

template<typename TPoint, typename TSize>
class DGtal::HyperRectDomain_Iterator< TPoint, TSize >

Description of class 'HyperRectDomain_Iterator'

Aim:


Member Typedef Documentation

template<typename TPoint, typename TSize>
typedef ptrdiff_t DGtal::HyperRectDomain_Iterator< TPoint, TSize >::difference_type
template<typename TPoint, typename TSize>
typedef std::bidirectional_iterator_tag DGtal::HyperRectDomain_Iterator< TPoint, TSize >::iterator_category
template<typename TPoint, typename TSize>
typedef TPoint* DGtal::HyperRectDomain_Iterator< TPoint, TSize >::pointer
template<typename TPoint, typename TSize>
typedef TPoint& DGtal::HyperRectDomain_Iterator< TPoint, TSize >::reference
template<typename TPoint, typename TSize>
typedef TSize DGtal::HyperRectDomain_Iterator< TPoint, TSize >::Size
template<typename TPoint, typename TSize>
typedef TPoint DGtal::HyperRectDomain_Iterator< TPoint, TSize >::value_type
Todo:
construct a RANDOM-ACCESS iterator

Constructor & Destructor Documentation

template<typename TPoint, typename TSize>
DGtal::HyperRectDomain_Iterator< TPoint, TSize >::HyperRectDomain_Iterator ( const TPoint &  p,
const TPoint &  lower,
const TPoint &  upper 
) [inline]
template<typename TPoint, typename TSize>
DGtal::HyperRectDomain_Iterator< TPoint, TSize >::HyperRectDomain_Iterator ( const TPoint &  p,
const TPoint &  lower,
const TPoint &  upper,
const std::vector< Size > &  subDomain 
) [inline]

Member Function Documentation

template<typename TPoint, typename TSize>
void DGtal::HyperRectDomain_Iterator< TPoint, TSize >::nextLexicographicOrder (  )  [inline]

Implements the next() method to scan the domain points dimension by dimension (lexicographic order).

Referenced by DGtal::HyperRectDomain_Iterator< Point, Size >::operator++().

template<typename TPoint, typename TSize>
void DGtal::HyperRectDomain_Iterator< TPoint, TSize >::nextSubDomainOrder (  )  [inline]

Implements the next() method to scan the domain points dimension by dimension (by using the subDomain order given by the user).

Referenced by DGtal::HyperRectDomain_Iterator< Point, Size >::operator++().

template<typename TPoint, typename TSize>
bool DGtal::HyperRectDomain_Iterator< TPoint, TSize >::operator!= ( const HyperRectDomain_Iterator< TPoint, TSize > &  aIt  )  const [inline]

Operator !=

template<typename TPoint, typename TSize>
const TPoint& DGtal::HyperRectDomain_Iterator< TPoint, TSize >::operator* (  )  const [inline]
template<typename TPoint, typename TSize>
HyperRectDomain_Iterator<TPoint,TSize>& DGtal::HyperRectDomain_Iterator< TPoint, TSize >::operator++ (  )  [inline]

Operator ++ (++it)

template<typename TPoint, typename TSize>
HyperRectDomain_Iterator<TPoint,TSize> DGtal::HyperRectDomain_Iterator< TPoint, TSize >::operator++ ( int   )  [inline]

Operator ++ (it++)

template<typename TPoint, typename TSize>
HyperRectDomain_Iterator<TPoint,TSize>& DGtal::HyperRectDomain_Iterator< TPoint, TSize >::operator-- (  )  [inline]

Operator ++ (++it)

template<typename TPoint, typename TSize>
HyperRectDomain_Iterator<TPoint,TSize>& DGtal::HyperRectDomain_Iterator< TPoint, TSize >::operator-- ( int   )  [inline]

Operator ++ (it++)

template<typename TPoint, typename TSize>
bool DGtal::HyperRectDomain_Iterator< TPoint, TSize >::operator== ( const HyperRectDomain_Iterator< TPoint, TSize > &  it  )  const [inline]

Operator ==

template<typename TPoint, typename TSize>
void DGtal::HyperRectDomain_Iterator< TPoint, TSize >::prevLexicographicOrder (  )  [inline]

Implements the prev() method to scan the domain points dimension by dimension (lexicographic order).

Referenced by DGtal::HyperRectDomain_Iterator< Point, Size >::operator--().

template<typename TPoint, typename TSize>
void DGtal::HyperRectDomain_Iterator< TPoint, TSize >::prevSubDomainOrder (  )  [inline]

Implements the prev() method to scan the domain points dimension by dimension (subDomain order).

Referenced by DGtal::HyperRectDomain_Iterator< Point, Size >::operator--().


Field Documentation

template<typename TPoint, typename TSize>
Size DGtal::HyperRectDomain_Iterator< TPoint, TSize >::myCurrentPos [private]
template<typename TPoint, typename TSize>
TPoint DGtal::HyperRectDomain_Iterator< TPoint, TSize >::mylower [private]
template<typename TPoint, typename TSize>
TPoint DGtal::HyperRectDomain_Iterator< TPoint, TSize >::myPoint [private]
template<typename TPoint, typename TSize>
std::vector<Size> DGtal::HyperRectDomain_Iterator< TPoint, TSize >::mySubDomain [private]
template<typename TPoint, typename TSize>
TPoint DGtal::HyperRectDomain_Iterator< TPoint, TSize >::myupper [private]
template<typename TPoint, typename TSize>
bool DGtal::HyperRectDomain_Iterator< TPoint, TSize >::myUseSubDomain [private]

True iff we use the vector of subDomain, otherwise dimensions are considered in increasing order.

Referenced by DGtal::HyperRectDomain_Iterator< Point, Size >::operator++(), and DGtal::HyperRectDomain_Iterator< Point, Size >::operator--().


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