24 #ifndef SKA_CHEETAH_DATA_SERIES_H 25 #define SKA_CHEETAH_DATA_SERIES_H 27 #include "cheetah/data/VectorLike.h" 28 #include "cheetah/utils/Architectures.h" 29 #include "panda/Device.h" 30 #include "panda/DeviceMemory.h" 43 template <
typename Arch,
typename ValueT,
typename Alloc=panda::DeviceAllocator<ValueT, Arch>>
46 typedef panda::DeviceMemory<Arch, ValueT, Alloc> DeviceMemoryType;
49 typedef typename DeviceMemoryType::Iterator Iterator;
50 typedef typename DeviceMemoryType::ConstIterator ConstIterator;
51 typedef Alloc Allocator;
52 typedef Arch Architecture;
53 typedef ValueT ValueType;
64 template<
typename OtherArch,
typename OtherAlloc>
73 ConstIterator
begin()
const;
76 ConstIterator end()
const;
78 ConstIterator cbegin()
const;
79 ConstIterator cend()
const;
84 std::size_t
size()
const;
89 void resize(std::size_t size);
92 DeviceMemoryType _data;
98 template <
typename ValueType,
typename Alloc>
99 class Series<cheetah::Cpu, ValueType, Alloc>:
public VectorLike<std::vector<ValueType,Alloc>>
104 typedef cheetah::Cpu Architecture;
105 typedef Alloc Allocator;
113 template<
typename OtherArch,
typename OtherAlloc>
119 template<
typename OtherArch,
typename OtherAlloc>
128 #include "detail/Series.cpp" 129 #include "cheetah/data/cuda/Series.h" 130 #include "cheetah/data/altera/Series.h" 132 #endif // SKA_CHEETAH_DATA_SERIES_H Class that wraps objects that export the std::vector interface.
Some limits and constants for FLDO.
Base class for generic data series.
ConstIterator begin() const
Iterators to device memory.
void resize(std::size_t size)
resize the data
std::size_t size() const
the size of the series