tatami
C++ API for different matrix representations
Loading...
Searching...
No Matches
ArrayView.hpp
Go to the documentation of this file.
1#ifndef TATAMI_ARRAY_VIEW_HPP
2#define TATAMI_ARRAY_VIEW_HPP
3
9namespace tatami {
10
20template<typename T>
21class ArrayView {
22public:
28 ArrayView(const T* ptr, size_t number) : my_ptr(ptr), my_number(number) {}
29
33 size_t size() const { return my_number; }
34
38 const T* data() const { return my_ptr; }
39
43 const T* begin() const { return my_ptr; }
44
48 const T* end() const { return my_ptr + my_number; }
49
54 T operator[](size_t i) const {
55 return my_ptr[i];
56 }
57
58private:
59 const T* my_ptr;
60 size_t my_number;
61};
62
63}
64
65#endif
View into a pre-allocated array.
Definition ArrayView.hpp:21
T operator[](size_t i) const
Definition ArrayView.hpp:54
const T * begin() const
Definition ArrayView.hpp:43
const T * data() const
Definition ArrayView.hpp:38
size_t size() const
Definition ArrayView.hpp:33
const T * end() const
Definition ArrayView.hpp:48
ArrayView(const T *ptr, size_t number)
Definition ArrayView.hpp:28
Flexible representations for matrix data.
Definition Extractor.hpp:15
auto consecutive_extractor(const Matrix< Value_, Index_ > *mat, bool row, Index_ iter_start, Index_ iter_length, Args_ &&... args)
Definition consecutive_extractor.hpp:35