12 #ifndef ESTD_CONTIGUOUSRANGE_HPP_ 13 #define ESTD_CONTIGUOUSRANGE_HPP_ 141 constexpr
explicit ContiguousRange(
const std::array<
typename std::remove_const<T>::type, N>& array) noexcept :
157 template<size_t N, typename TT = T, typename = typename std::enable_if<std::is_const<TT>::value ==
true>::type>
184 template<typename TT = T, typename = typename std::enable_if<std::is_const<TT>::value ==
true>::type>
298 #endif // ESTD_CONTIGUOUSRANGE_HPP_ Collection of useful templates.
Definition: DmaChannel.hpp:121
constexpr ContiguousRange() noexcept
Empty ContiguousRange's constructor.
Definition: ContiguousRange.hpp:82
iterator begin_
iterator to first element in the range
Definition: ContiguousRange.hpp:290
value_type * iterator
iterator type
Definition: ContiguousRange.hpp:47
constexpr ContiguousRange(T &value) noexcept
ContiguousRange's constructor using single value.
Definition: ContiguousRange.hpp:170
constexpr ContiguousRange(const std::array< typename std::remove_const< T >::type, N > &array) noexcept
ContiguousRange's constructor using const std::array.
Definition: ContiguousRange.hpp:141
std::size_t size_type
size_type type
Definition: ContiguousRange.hpp:53
const value_type & const_reference
const_reference type
Definition: ContiguousRange.hpp:44
ContiguousRange template class is a pair of iterators to contiguous sequence of elements in memory.
Definition: ContiguousRange.hpp:27
constexpr ContiguousRange(const ContiguousRange< typename std::remove_const< TT >::type > &other) noexcept
ContiguousRange's converting constructor.
Definition: ContiguousRange.hpp:185
iterator end_
iterator to "one past the last" element in the range
Definition: ContiguousRange.hpp:293
std::reverse_iterator< iterator > reverse_iterator
reverse_iterator type
Definition: ContiguousRange.hpp:59
const value_type * const_iterator
const_iterator type
Definition: ContiguousRange.hpp:50
constexpr const_iterator cend() const noexcept
Definition: ContiguousRange.hpp:226
std::reverse_iterator< const_iterator > const_reverse_iterator
const_reverse_iterator type
Definition: ContiguousRange.hpp:62
constexpr reverse_iterator rbegin() const noexcept
Definition: ContiguousRange.hpp:263
constexpr reverse_iterator rend() const noexcept
Definition: ContiguousRange.hpp:273
constexpr ContiguousRange(const std::array< T, N > &array) noexcept
ContiguousRange's constructor using const std::array with const type.
Definition: ContiguousRange.hpp:158
constexpr const_reverse_iterator crend() const noexcept
Definition: ContiguousRange.hpp:245
constexpr ContiguousRange(T(&array)[N]) noexcept
ContiguousRange's constructor using C-style array.
Definition: ContiguousRange.hpp:111
constexpr ContiguousRange(std::array< T, N > &array) noexcept
ContiguousRange's constructor using std::array.
Definition: ContiguousRange.hpp:126
value_type * pointer
pointer type
Definition: ContiguousRange.hpp:35
reference operator[](const size_type i) const noexcept
ContiguousRange's subscript operator.
Definition: ContiguousRange.hpp:199
T value_type
value_type type
Definition: ContiguousRange.hpp:32
constexpr ContiguousRange(const iterator beginn, const iterator endd) noexcept
ContiguousRange's constructor.
Definition: ContiguousRange.hpp:71
constexpr size_type size() const noexcept
Definition: ContiguousRange.hpp:282
constexpr ContiguousRange(const iterator beginn, size_t sizee) noexcept
ContiguousRange's constructor using iterator and size.
Definition: ContiguousRange.hpp:95
value_type & reference
reference type
Definition: ContiguousRange.hpp:41
constexpr const_reverse_iterator crbegin() const noexcept
Definition: ContiguousRange.hpp:235
const value_type * const_pointer
const_pointer type
Definition: ContiguousRange.hpp:38
constexpr iterator begin() const noexcept
Definition: ContiguousRange.hpp:208
constexpr const_iterator cbegin() const noexcept
Definition: ContiguousRange.hpp:217
constexpr iterator end() const noexcept
Definition: ContiguousRange.hpp:254
std::ptrdiff_t difference_type
difference_type type
Definition: ContiguousRange.hpp:56