fesa-core
4.0.0
|
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... | |
P | xpoints_begin () const |
Get an iterator pointing to the first point's X coordinate in the current function. | |
P | 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. | |
P | ypoints_begin () const |
Get an iterator pointing to the first point's Y coordinate in the current function. | |
P | 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. | |
An iterator class to iterate over functions of a function list.
D | The type of the base of an iterator over functions. The type can be either double or const double |
P | The 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 |
fesa::FunctionsIteratorBase< D, P >::FunctionsIteratorBase | ( | const std::vector< const double * > & | functionPtrs, |
std::size_t | initialFunction | ||
) |
Constructor.
functionPtrs | A vector of pointers to the beginnings of functions in a function list |
initialFunction | The number of the function this iterator will point to |
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.
other | Another iterator |
OtherD | The type of the base of the other iterator over functions |
OtherP | The 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 |