Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
DmTimeSliceIterator.h
1 #ifndef SKA_CHEETAH_DATA_DMTIMESLICEITERATOR_H
2 #define SKA_CHEETAH_DATA_DMTIMESLICEITERATOR_H
3 
4 #include "cheetah/data/detail/DmTimeDm.h"
5 
6 #include <cstddef>
7 #include <memory>
8 
9 namespace ska {
10 namespace cheetah {
11 namespace data {
12 namespace detail {
13 
22 template <typename DmTimeSliceType>
23 class DmTimeSliceIterator
24 {
25  public:
26  typedef DmTimeDm<DmTimeSliceType> DmTimeDmType;
27 
28  public:
29 
36  DmTimeSliceIterator(std::size_t current_dm_idx,
37  std::shared_ptr<const DmTimeSliceType> parent);
39 
45  DmTimeDmType operator*() const;
46 
54 
62  bool operator!=(DmTimeSliceIterator const& other);
63 
71  bool operator==(DmTimeSliceIterator const& other);
72 
73  private:
74  std::size_t _current_dm_idx;
75  std::shared_ptr<const DmTimeSliceType> _parent;
76 };
77 
78 } // namespace detail
79 } // namespace data
80 } // namespace cheetah
81 } // namespace ska
82 
83 #include "cheetah/data/detail/DmTimeSliceIterator.cpp"
84 
85 #endif // SKA_CHEETAH_DATA_DMTIMESLICEITERATOR_H
DmTimeSliceIterator & operator++()
Increment the iterator.
DmTimeSliceIterator(std::size_t current_dm_idx, std::shared_ptr< const DmTimeSliceType > parent)
Create a new instances.
Some limits and constants for FLDO.
Definition: Brdz.h:35
DmTimeDmType operator*() const
Dereference the iterator.
bool operator==(DmTimeSliceIterator const &other)
Test if another DmTimeSliceIterator is the same as this one.
bool operator!=(DmTimeSliceIterator const &other)
Test if another DmTimeSliceIterator is different to this one.