fesa-core  4.0.0
fesa::FunctionsIteratorBase< D, P > Class Template Reference

An iterator class to iterate over functions of a function list. More...

#include <FunctionsIterator.h>

Inherits iterator_adaptor< FunctionsIteratorBase< D, P >, D *, D, boost::random_access_traversal_tag >.

Public Member Functions

 FunctionsIteratorBase (const std::vector< const double * > &functionPtrs, std::size_t initialFunction)
 Constructor. More...
 
template<class OtherD , class OtherP >
 FunctionsIteratorBase (const FunctionsIteratorBase< OtherD, OtherP > &other, typename boost::enable_if< boost::is_convertible< OtherD *, D * >, Enabler >::type enabler=Enabler())
 Conversion / copy constructor. More...
 
xpoints_begin () const
 Get an iterator pointing to the first point's X coordinate in the current function.
 
xpoints_end () const
 Get an iterator pointing to the location of the X coordinate of a point that would theoretically follow the last point in the current function.
 
ypoints_begin () const
 Get an iterator pointing to the first point's Y coordinate in the current function.
 
ypoints_end () const
 Get an iterator pointing to the location of the Y coordinate of a point that would theoretically follow the last point in the current function.
 
boost::zip_iterator
< boost::tuple< P, P > > 
points_begin () const
 Get an iterator pointing to the first point in the current function.
 
boost::zip_iterator
< boost::tuple< P, P > > 
points_end () const
 Get an iterator pointing to the location of a point that would theoretically follow the last point in the current function.
 

Detailed Description

template<class D, class P>
class fesa::FunctionsIteratorBase< D, P >

An iterator class to iterate over functions of a function list.

Template Parameters
DThe type of the base of an iterator over functions. The type can be either double or const double
PThe type of an iterator over points that can be retrieved from an iterator over functions. The type can be either PointsIterator or ConstPointsIterator When this template is instantiated with const double and ConstPointsIterator, this class becomes ConstFunctionsIterator. When this template is instantiated with double and PointsIterator, this class becomes FunctionsIterator

Constructor & Destructor Documentation

template<class D , class P >
fesa::FunctionsIteratorBase< D, P >::FunctionsIteratorBase ( const std::vector< const double * > &  functionPtrs,
std::size_t  initialFunction 
)

Constructor.

Parameters
functionPtrsA vector of pointers to the beginnings of functions in a function list
initialFunctionThe number of the function this iterator will point to
template<class D , class P >
template<class OtherD , class OtherP >
fesa::FunctionsIteratorBase< D, P >::FunctionsIteratorBase ( const FunctionsIteratorBase< OtherD, OtherP > &  other,
typename boost::enable_if< boost::is_convertible< OtherD *, D * >, Enabler >::type  enabler = Enabler() 
)

Conversion / copy constructor.

Parameters
otherAnother iterator
Template Parameters
OtherDThe type of the base of the other iterator over functions
OtherPThe type of the iterator over points of the other iterator over functions This constructor is instantiated by the compiler when (1) D is const double and OtherD is const double, (2) D is const double and OtherD is double, (3) D is double and OtherD is double. This constructor is not instantiated by the compiler when (1) D is double and OtherD is const double

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