MIP_SDK
v3.0.0-533-g58dc0c0
MicroStrain Communications Library for embedded systems
|
Go to the documentation of this file.
12 static constexpr
size_t DYNAMIC_EXTENT = SIZE_MAX;
43 template<
class T,
size_t Extent=DYNAMIC_EXTENT>
46 static constexpr
size_t extent = Extent;
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>
77 [[nodiscard]] constexpr
ArrayView<T, Count == DYNAMIC_EXTENT ? DYNAMIC_EXTENT : Extent-Count>
subspan()
const {
return {m_ptr+Offset}; }
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)}; }
108 constexpr
ArrayView(T (&arr)[N]) : m_ptr(arr), m_cnt(N) {}
111 constexpr
pointer end() const noexcept {
return m_ptr+m_cnt; }
121 [[nodiscard]] constexpr
size_t size() const noexcept {
return m_cnt; }
122 [[nodiscard]] constexpr
bool empty() const noexcept {
return m_cnt == 0; }
126 template<
size_t Offset,
size_t Count = DYNAMIC_EXTENT>
130 template<
size_t Count>
134 template<
size_t Count>
constexpr ArrayView< T, Count > last() const
Definition: array_view.hpp:85
T * pointer
Definition: array_view.hpp:98
const T * const_iterator
Definition: array_view.hpp:103
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:119
constexpr reference operator[](size_t idx) noexcept
Definition: array_view.hpp:66
constexpr ArrayView(T(&arr)[N])
Definition: array_view.hpp:108
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:124
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:129
constexpr ArrayView< T, Count > subspan() const
Definition: array_view.hpp:127
typename std::remove_cv< T >::type value_type
Definition: array_view.hpp:96
constexpr const_reference operator[](size_t idx) const noexcept
Definition: array_view.hpp:117
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:106
Definition: array_view.hpp:93
constexpr ArrayView< T, Count > first() const
Definition: array_view.hpp:81
T element_type
Definition: array_view.hpp:95
constexpr ArrayView< T, Count > first() const
Definition: array_view.hpp:131
constexpr ArrayView< T, Count > last() const
Definition: array_view.hpp:135
constexpr element_type front() const noexcept
Definition: array_view.hpp:113
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:133
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:111
constexpr const_reference operator[](size_t idx) const noexcept
Definition: array_view.hpp:67
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:97
const T * const_pointer
Definition: array_view.hpp:101
constexpr reference operator[](size_t idx) noexcept
Definition: array_view.hpp:116
constexpr ArrayView< T, DYNAMIC_EXTENT > subspan(size_t index) const
Definition: array_view.hpp:125
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:99
constexpr element_type back() const noexcept
Definition: array_view.hpp:114
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:122
T * iterator
Definition: array_view.hpp:100
const T & const_reference
Definition: array_view.hpp:102
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:110
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:121
constexpr ArrayView(pointer ptr, size_t count)
Definition: array_view.hpp:58