Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
|
Iterator over partial ranges of DataSequence2D types, "fast" axis. CPU specialisation. More...
#include <cheetah/data/DataSequence2DPartialIterator.h>
Public Types | |
typedef std::iterator_traits< DataSequence2DPartialIterator< Cpu, Type > >::pointer | PtrType |
typedef std::iterator_traits< DataSequence2DPartialIterator< Cpu, Type > >::reference | RefType |
typedef std::iterator_traits< DataSequence2DPartialIterator< Cpu, Type > >::difference_type | DiffType |
typedef DataSequence2DPartialIterator< Cpu, Type > | SelfType |
typedef SelfType | Iterator |
![]() | |
typedef std::iterator_traits< SelfType >::pointer | PtrType |
typedef std::iterator_traits< SelfType >::reference | RefType |
typedef std::iterator_traits< SelfType >::difference_type | DiffType |
Public Member Functions | |
DataSequence2DPartialIterator (const DataSequence2D< Cpu, typename std::remove_cv< Type >::type > &data_ptr, std::size_t fbegin, std::size_t fend, std::size_t sbegin, std::size_t send) | |
Create an iterator. More... | |
DataSequence2DPartialIterator (DataSequence2D< Cpu, typename std::remove_cv< Type >::type > &data_ptr, std::size_t fbegin, std::size_t fend, std::size_t sbegin, std::size_t send) | |
DataSequence2DPartialIterator () | |
default constructor. Required by random_access_iterator_tag | |
DataSequence2DPartialIterator (const DataSequence2DPartialIterator< Cpu, Type > ©) | |
copy constructor. Required by random_access_iterator_tag. | |
~DataSequence2DPartialIterator () | |
Destroy the iterator. | |
PtrType | operator-> () const override |
dereference operator More... | |
RefType | operator* () const override |
dereference operator | |
SelfType | begin () const |
SelfType | end () const |
![]() | |
DataSequence2DFastIteratorBase (const DataSequence2D< Cpu, typename std::remove_cv< Type >::type > &data_ptr, std::size_t slow_offset=0) | |
Create an iterator. More... | |
DataSequence2DFastIteratorBase (DataSequence2D< Cpu, typename std::remove_cv< Type >::type > &data_ptr, std::size_t slow_offset=0) | |
DataSequence2DFastIteratorBase () | |
default constructor. Required by random_access_iterator_tag | |
DataSequence2DFastIteratorBase (const DataSequence2DFastIteratorBase< Type, DataSequence2DPartialIterator< Cpu, Type > > ©) | |
copy constructor. Required by random_access_iterator_tag. | |
~DataSequence2DFastIteratorBase () | |
Destroy the iterator. | |
DataSequence2DPartialIterator< Cpu, Type > & | operator++ () |
pre-increment operator. More... | |
DataSequence2DPartialIterator< Cpu, Type > | operator++ (int) |
post-increment the iterator to the next element in the data sequence More... | |
DataSequence2DPartialIterator< Cpu, Type > & | operator-- () |
Decriment. | |
DataSequence2DPartialIterator< Cpu, Type > | operator-- (int) |
Decriment. | |
DataSequence2DPartialIterator< Cpu, Type > & | operator+= (DiffType off) |
Add-Asignment. | |
DataSequence2DPartialIterator< Cpu, Type > & | operator-= (DiffType off) |
Subtract-asignment. | |
DataSequence2DPartialIterator< Cpu, Type > | operator+ (DiffType off) const |
DataSequence2DPartialIterator< Cpu, Type > | operator- (DiffType off) const |
DiffType | operator- (const SelfType &right) const |
bool | operator< (const SelfType &right) const |
bool | operator> (const SelfType &right) const |
bool | operator<= (const SelfType &right) const |
bool | operator>= (const SelfType &right) const |
RefType | operator[] (DiffType off) const |
Offset dereference. | |
bool | operator== (SelfType const &) const |
return true if it is the same data and offset | |
bool | operator!= (SelfType const &) const |
return true if it has neither the same data or offset | |
Protected Member Functions | |
std::size_t | mangle_offset (std::size_t off) const |
![]() | |
std::size_t | index () |
Additional Inherited Members | |
![]() | |
const DataSequence2D< Cpu, typename std::remove_cv< Type >::type > * | _data |
std::size_t | _offset |
Type * | _raw |
Iterator over partial ranges of DataSequence2D types, "fast" axis. CPU specialisation.
Created by DataSequence2d::slice() or by constructor, iterates over a subset of the DataSequence2D as if it were a FastIterator over a smaller datasequence.
useful to do a partial copy of a slice, e.g.: std::copy(ds2d.slice(10,20,10,20), ds2d.slice(10,20,10,20).end(), newds2d.begin());
or copying a smaller ds2d into a larger one for buffering, e.g.: std::copy(small.begin(),small.end(), large.slice(currentpos, currentpos+small.fast_axis_length(), 0,small.slow_axis_length()); curentpos+=small.fast_axis_length();
Type | The datatype stored in the DataSequence2D. |
Definition at line 65 of file DataSequence2DPartialIterator.h.
ska::cheetah::data::DataSequence2DPartialIterator< Cpu, Type >::DataSequence2DPartialIterator | ( | const DataSequence2D< Cpu, typename std::remove_cv< Type >::type > & | data_ptr, |
std::size_t | fbegin, | ||
std::size_t | fend, | ||
std::size_t | sbegin, | ||
std::size_t | send | ||
) |
Create an iterator.
Iterator starts at the top of the "slow" axis. Iterates only in the range fbegin->fend, and sbegin->send
Definition at line 58 of file DataSequence2DPartialIterator.cpp.
DataSequence2DPartialIterator< Cpu, Type > ska::cheetah::data::DataSequence2DPartialIterator< Cpu, Type >::begin | ( | ) | const |
Return an iterator to the start of the partial region.
Definition at line 107 of file DataSequence2DPartialIterator.cpp.
DataSequence2DPartialIterator< Cpu, Type > ska::cheetah::data::DataSequence2DPartialIterator< Cpu, Type >::end | ( | ) | const |
Return an iterator pointing at the end of the partial region.
Definition at line 114 of file DataSequence2DPartialIterator.cpp.
|
overridevirtual |
dereference operator
return the actual data currently referenced by the iterator
Reimplemented from ska::cheetah::data::DataSequence2DFastIteratorBase< Type, DataSequence2DPartialIterator< Cpu, Type > >.
Definition at line 86 of file DataSequence2DPartialIterator.cpp.