24 #ifndef SKA_CHEETAH_DATA_DATASEQUENCE2DSLOWITERATOR_H 25 #define SKA_CHEETAH_DATA_DATASEQUENCE2DSLOWITERATOR_H 26 #include <boost/iterator/iterator_facade.hpp> 27 #include <type_traits> 38 template <
typename Arch,
typename Type>
42 template<
typename Arch,
typename T>
46 template <
typename Type>
48 DataSequence2DSlowIterator<Cpu, Type>
50 , std::random_access_iterator_tag
55 typedef boost::iterator_facade<SelfType, Type, std::random_access_iterator_tag> BaseT;
56 typedef typename BaseT::pointer PtrType;
57 typedef typename BaseT::reference RefType;
58 typedef typename BaseT::difference_type DiffType;
62 std::size_t fast_offset=0);
65 std::size_t fast_offset=0);
69 friend class boost::iterator_core_access;
71 bool equal(SelfType
const& other)
const;
74 void advance(std::size_t n);
75 RefType dereference()
const;
76 DiffType distance_to(SelfType
const& right)
const;
87 #include "cheetah/data/detail/DataSequence2DSlowIterator.cpp" 89 #endif // SKA_CHEETAH_DATA_DATASEQUENCE2DSLOWITERATOR_H Iterator over DataSequence2D types, over "fast" axis. Generic type.
Some limits and constants for FLDO.
A 2-dimensional sequencial data of type T.
A generic iterator for DataSequence2D.