16#if UDON_PLATFORM_OUTPUT_STREAM == UDON_PLATFORM_OUTPUT_CONSOLE
64 template <typename InputIterator, typename = typename std::enable_if<std::is_convertible<typename std::iterator_traits<InputIterator>::iterator_category, std::input_iterator_tag>::value>::type>
67 , m_size(
std::distance(first, last))
71 template <
typename Other>
73 : m_data(other.
data())
74 , m_size(other.
size())
78 template <typename Container, typename = decltype(std::declval<Container>().data(), std::declval<Container>().size())>
80 : m_data(container.data())
81 , m_size(container.size())
85 explicit operator bool() const noexcept
106 return m_data[index];
110 return m_data[index];
115 return m_data[index];
119 return m_data[index];
133 return m_data[m_size - 1];
137 return m_data[m_size - 1];
152 for (
auto& v : *
this)
164 std::next(
cbegin(), count),
182 std::next(
cbegin(), beginIndex),
183 std::min(endIndex - beginIndex, m_size)
194 std::next(
cbegin(), beginIndex),
195 std::min(m_size - beginIndex, m_size)
241 return not(lhs == rhs);
255 return { m_data + m_size };
259 return { m_data + m_size };
269 return { m_data + m_size };
300#if UDON_PLATFORM_OUTPUT_STREAM == UDON_PLATFORM_OUTPUT_CONSOLE
304 for (
auto&& element : rhs)
312 ostm <<
", " << element;
326 Serial.print(m_data[i]);
const_reverse_iterator rend() const
Definition ArrayView.hpp:281
T * iterator
Definition ArrayView.hpp:35
reference front()
Definition ArrayView.hpp:122
ArrayView removeBackView(size_type count) const
Definition ArrayView.hpp:173
ArrayView(Container &&container)
Definition ArrayView.hpp:79
friend std::ostream & operator<<(std::ostream &ostm, const ArrayView &rhs)
Definition ArrayView.hpp:301
ArrayView removeFrontView(size_type count) const
先頭から指定要素削除したビューを作成する。
Definition ArrayView.hpp:161
T * pointer
Definition ArrayView.hpp:33
const_iterator cbegin() const
Definition ArrayView.hpp:262
ArrayView()
Definition ArrayView.hpp:45
void fill(const value_type &value)
Definition ArrayView.hpp:150
const_iterator end() const
Definition ArrayView.hpp:257
const_reference operator[](const size_type index) const
Definition ArrayView.hpp:108
const_pointer data() const
Definition ArrayView.hpp:99
ArrayView(const ArrayView< Other > &other)
Definition ArrayView.hpp:72
void clear()
Definition ArrayView.hpp:145
ArrayView(pointer m_data, const size_type count)
Definition ArrayView.hpp:58
ArrayView(value_type(&array)[N])
Definition ArrayView.hpp:52
const_reference front() const
Definition ArrayView.hpp:126
const_reverse_iterator crbegin() const
Definition ArrayView.hpp:290
friend bool operator!=(const ArrayView &lhs, const ArrayView &rhs)
Definition ArrayView.hpp:239
const_iterator cend() const
Definition ArrayView.hpp:267
T & reference
Definition ArrayView.hpp:31
iterator end()
Definition ArrayView.hpp:253
std::reverse_iterator< const_iterator > const_reverse_iterator
Definition ArrayView.hpp:38
bool startsWith(const ArrayView &rhs) const
自身が指定のビューから始まるかどうか
Definition ArrayView.hpp:216
reverse_iterator rbegin()
Definition ArrayView.hpp:276
reference operator[](const size_type index)
Definition ArrayView.hpp:104
ArrayView subView(size_type beginIndex, size_type endIndex) const
指定された範囲からビューを作成する。
Definition ArrayView.hpp:179
ArrayView subView(size_type beginIndex) const
指定された範囲からビューを作成する。
Definition ArrayView.hpp:191
const_reverse_iterator rbegin() const
Definition ArrayView.hpp:272
const_reference back() const
Definition ArrayView.hpp:135
ArrayView removeBackView(size_type count)
末尾から指定要素削除したビューを作成する。
Definition ArrayView.hpp:172
const T & const_reference
Definition ArrayView.hpp:32
const T * const_pointer
Definition ArrayView.hpp:34
const_reference at(const size_type index) const
Definition ArrayView.hpp:117
reverse_iterator rend()
Definition ArrayView.hpp:285
const_iterator begin() const
Definition ArrayView.hpp:248
std::reverse_iterator< iterator > reverse_iterator
Definition ArrayView.hpp:37
ArrayView(InputIterator first, InputIterator last)
Definition ArrayView.hpp:65
bool empty() const
Definition ArrayView.hpp:140
const T * const_iterator
Definition ArrayView.hpp:36
constexpr size_type size() const
Definition ArrayView.hpp:90
T value_type
Definition ArrayView.hpp:30
reference back()
Definition ArrayView.hpp:131
iterator begin()
Definition ArrayView.hpp:244
const_reverse_iterator crend() const
Definition ArrayView.hpp:295
size_t size_type
Definition ArrayView.hpp:29
pointer data()
Definition ArrayView.hpp:95
friend bool operator==(const ArrayView &lhs, const ArrayView &rhs)
Definition ArrayView.hpp:228
ArrayView subViewUntil(const value_type &terminate) const
特定の値まで検索し、そこまでの範囲の一つ手前までをビューとする。
Definition ArrayView.hpp:202
reference at(const size_type index)
Definition ArrayView.hpp:113
Definition Typedef.hpp:94