aimstil  5.0.5
til::ConditionalIterator< TIterator, BoolFunctor > Class Template Reference

Conditional iterator for images. More...

#include <til/ConditionalIterator.h>

Inheritance diagram for til::ConditionalIterator< TIterator, BoolFunctor >:
Collaboration diagram for til::ConditionalIterator< TIterator, BoolFunctor >:

Public Member Functions

 ConditionalIterator (const typename TIterator::TImage &im, const BoolFunctor &boolFunctor=BoolFunctor())
 Constructor for const iterators. More...
 
 ConditionalIterator (typename TIterator::TImage &im, const BoolFunctor &boolFunctor=BoolFunctor())
 Constructor for non-const iterators. More...
 
bool next ()
 Go to the next element if possible. More...
 

Detailed Description

template<class TIterator, class BoolFunctor>
class til::ConditionalIterator< TIterator, BoolFunctor >

Conditional iterator for images.

As opposed to a standard iterator, a conditional iterator takes a boolean functor as a parameter, and will iteratate for those elements that returns true. The ConditionalIterator class actually contains only this mechanism; all the iterator mechanism itself should be provided by an iterator from which ConditionalIterator derives, and which is a parameter of templation. So ConditionalIterator just provides this functionality to already existing iterators. Example: itlin(im, _1 >0) provides a linear iterator for image im for voxels that are strictly positive.

Definition at line 23 of file ConditionalIterator.h.

Constructor & Destructor Documentation

◆ ConditionalIterator() [1/2]

template<class TIterator, class BoolFunctor>
til::ConditionalIterator< TIterator, BoolFunctor >::ConditionalIterator ( const typename TIterator::TImage &  im,
const BoolFunctor &  boolFunctor = BoolFunctor() 
)
inline

Constructor for const iterators.

Definition at line 28 of file ConditionalIterator.h.

◆ ConditionalIterator() [2/2]

template<class TIterator, class BoolFunctor>
til::ConditionalIterator< TIterator, BoolFunctor >::ConditionalIterator ( typename TIterator::TImage &  im,
const BoolFunctor &  boolFunctor = BoolFunctor() 
)
inline

Constructor for non-const iterators.

Definition at line 31 of file ConditionalIterator.h.

Member Function Documentation

◆ next()

template<class TIterator, class BoolFunctor>
bool til::ConditionalIterator< TIterator, BoolFunctor >::next ( )
inline

Go to the next element if possible.

Note that with conditional iterators the concept of a for loop, with increase and test at a different place, is awkward.

Definition at line 38 of file ConditionalIterator.h.


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