|
MIP_SDK
v4.0.0-237-g9879cb72
MicroStrain Communications Library for embedded systems
|
Go to the documentation of this file.
43 template<
class T,
size_t Extent=DYNAMIC_EXTENT>
46 static constexpr
size_t extent = Extent;
66 template<
typename Index>
71 [[nodiscard]] constexpr
size_t size() const noexcept {
return extent; }
72 [[nodiscard]] constexpr
bool empty() const noexcept {
return extent == 0; }
76 template<
size_t Offset,
size_t Count = DYNAMIC_EXTENT>
80 template<
size_t Count>
81 [[nodiscard]] constexpr
ArrayView<T, Count> first()
const { static_assert(Count<=Extent,
"Count out of range");
return {m_ptr}; }
84 template<
size_t Count>
85 [[nodiscard]] constexpr
ArrayView<T, Count> last()
const { static_assert(Count<=Extent,
"Count out of range");
return {m_ptr+(Extent-Count)}; }
87 [[nodiscard]] constexpr
operator pointer()
const {
return m_ptr; }
110 constexpr
ArrayView(T (&arr)[N]) : m_ptr(arr), m_cnt(N) {}
113 constexpr
pointer end() const noexcept {
return m_ptr+m_cnt; }
118 template<
typename Index>
123 [[nodiscard]] constexpr
size_t size() const noexcept {
return m_cnt; }
124 [[nodiscard]] constexpr
bool empty() const noexcept {
return m_cnt == 0; }
128 template<
size_t Offset,
size_t Count = DYNAMIC_EXTENT>
132 template<
size_t Count>
136 template<
size_t Count>
139 [[nodiscard]] constexpr
operator pointer()
const {
return m_ptr; }
constexpr ArrayView< T, Count > last() const
Definition: array_view.hpp:85
T * pointer
Definition: array_view.hpp:100
const T * const_iterator
Definition: array_view.hpp:105
constexpr ArrayView(pointer ptr)
Definition: array_view.hpp:58
static constexpr size_t extent
Definition: array_view.hpp:46
const T & const_reference
Definition: array_view.hpp:55
constexpr pointer data() const noexcept
Definition: array_view.hpp:121
constexpr ArrayView(T(&arr)[N])
Definition: array_view.hpp:110
typename std::remove_cv< T >::type value_type
Definition: array_view.hpp:49
T & reference
Definition: array_view.hpp:52
constexpr ArrayView< T, DYNAMIC_EXTENT > subspan(size_t index, size_t length) const
Definition: array_view.hpp:126
constexpr reference operator[](Index idx) const noexcept
Definition: array_view.hpp:119
constexpr pointer begin() const noexcept
Definition: array_view.hpp:60
constexpr ArrayView< T, DYNAMIC_EXTENT > last(size_t count) const
Definition: array_view.hpp:83
constexpr ArrayView< T, DYNAMIC_EXTENT > first(size_t count) const
Definition: array_view.hpp:131
constexpr ArrayView< T, Count > subspan() const
Definition: array_view.hpp:129
static constexpr size_t DYNAMIC_EXTENT
Definition: array_view.hpp:12
typename std::remove_cv< T >::type value_type
Definition: array_view.hpp:98
constexpr ArrayView< T, DYNAMIC_EXTENT > subspan(size_t index) const
Definition: array_view.hpp:75
constexpr ArrayView(pointer ptr, size_t cnt)
Definition: array_view.hpp:108
Definition: array_view.hpp:95
constexpr ArrayView< T, Count > first() const
Definition: array_view.hpp:81
T element_type
Definition: array_view.hpp:97
constexpr ArrayView< T, Count > first() const
Definition: array_view.hpp:133
constexpr ArrayView< T, Count > last() const
Definition: array_view.hpp:137
constexpr element_type front() const noexcept
Definition: array_view.hpp:115
const T * const_pointer
Definition: array_view.hpp:54
constexpr pointer end() const noexcept
Definition: array_view.hpp:61
constexpr element_type front() const noexcept
Definition: array_view.hpp:63
constexpr ArrayView< T, DYNAMIC_EXTENT > last(size_t count) const
Definition: array_view.hpp:135
constexpr ArrayView< T, DYNAMIC_EXTENT > subspan(size_t index, size_t length) const
Definition: array_view.hpp:74
constexpr ArrayView< T, Count==DYNAMIC_EXTENT ? DYNAMIC_EXTENT :Extent-Count > subspan() const
Definition: array_view.hpp:77
constexpr pointer end() const noexcept
Definition: array_view.hpp:113
Represents an index ranging from 0..N excluding N.
Definition: index.hpp:28
T * pointer
Definition: array_view.hpp:51
constexpr pointer data() const noexcept
Definition: array_view.hpp:69
constexpr element_type back() const noexcept
Definition: array_view.hpp:64
ptrdiff_t difference_type
Definition: array_view.hpp:99
const T * const_pointer
Definition: array_view.hpp:103
constexpr reference operator[](Index idx) const noexcept
Definition: array_view.hpp:67
constexpr ArrayView< T, DYNAMIC_EXTENT > subspan(size_t index) const
Definition: array_view.hpp:127
Represents a view over a contiguous array of objects, similar to std::span, and is implemented as a p...
Definition: array_view.hpp:44
constexpr ArrayView< T, DYNAMIC_EXTENT > first(size_t count) const
Definition: array_view.hpp:79
T & reference
Definition: array_view.hpp:101
constexpr element_type back() const noexcept
Definition: array_view.hpp:116
const T * const_iterator
Definition: array_view.hpp:56
T element_type
Definition: array_view.hpp:48
constexpr bool empty() const noexcept
Definition: array_view.hpp:124
T * iterator
Definition: array_view.hpp:102
const T & const_reference
Definition: array_view.hpp:104
constexpr size_t size() const noexcept
Definition: array_view.hpp:71
ptrdiff_t difference_type
Definition: array_view.hpp:50
constexpr pointer begin() const noexcept
Definition: array_view.hpp:112
constexpr bool empty() const noexcept
Definition: array_view.hpp:72
T * iterator
Definition: array_view.hpp:53
Definition: embedded_time.h:8
constexpr size_t size() const noexcept
Definition: array_view.hpp:123