template <typename T, std::size_t Extent>

class span

Defined at line 42 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

Public Members

static const size_t extent

Public Methods

template <size_t Extent_ = Extent, std::enable_if_t<Extent_ == 0 || Extent_ == dynamic_extent, bool> = true>
void span<T, Extent> ()

Defined at line 59 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <typename It, size_t Extent_ = Extent, std::enable_if_t<Extent_ != dynamic_extent, bool> = true>
void span<T, Extent> (It first, size_type count)

Defined at line 63 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <typename It, size_t Extent_ = Extent, std::enable_if_t<Extent_ == dynamic_extent, bool> = true>
void span<T, Extent> (It first, size_type count)

Defined at line 69 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <typename It, typename End, size_type Extent_ = Extent, std::enable_if_t<Extent_ != dynamic_extent && !std::is_convertible<End, size_type>::value,
                                           bool> = true>
void span<T, Extent> (It first, End end)

Defined at line 77 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <typename It, typename End, size_type Extent_ = Extent, std::enable_if_t<Extent_ == dynamic_extent && !std::is_convertible<End, size_type>::value,
                                           bool> = true>
void span<T, Extent> (It first, End end)

Defined at line 87 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <size_t N, size_type Extent_ = Extent, std::enable_if_t<Extent_ == dynamic_extent || N == Extent_, bool> = true>
void span<T, Extent> (element_type (&)[N] arr)

NOLINTNEXTLINE(google-explicit-constructor) Intentionally implicit

Defined at line 95 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <typename U, size_t N, size_type Extent_ = Extent, std::enable_if_t<(Extent_ == dynamic_extent || N == Extent_) &&
                                                     internal::is_qualification_conversion<U, element_type>::value,
                                                 bool> = true>
void span<T, Extent> (U (&)[N] arr)

NOLINTNEXTLINE(google-explicit-constructor) Intentionally implicit

Defined at line 102 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <typename U, size_t N, size_type Extent_ = Extent, std::enable_if_t<(Extent_ == dynamic_extent || N == Extent_) &&
                                                     internal::is_qualification_conversion<U, element_type>::value,
                                                 bool> = true>
void span<T, Extent> (std::array<U, N> & arr)

NOLINTNEXTLINE(google-explicit-constructor) Intentionally implicit

Defined at line 109 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <typename U, size_t N, size_type Extent_ = Extent, std::enable_if_t<(Extent_ == dynamic_extent || N == Extent_) &&
                                                     internal::is_qualification_conversion<U, element_type>::value,
                                                 bool> = true>
void span<T, Extent> (const std::array<U, N> & arr)

NOLINTNEXTLINE(google-explicit-constructor) Intentionally implicit

Defined at line 116 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <typename R, size_type Extent_ = Extent, std::enable_if_t<Extent_ != dynamic_extent && internal::is_span_compatible_v<R, T>,
                                                 bool> = true>
void span<T, Extent> (R && r)

Defined at line 121 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <typename R, size_type Extent_ = Extent, std::enable_if_t<Extent_ == dynamic_extent && internal::is_span_compatible_v<R, T>,
                                                 bool> = true>
void span<T, Extent> (R && r)

NOLINTNEXTLINE(google-explicit-constructor) Intentionally implicit

Defined at line 129 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <typename U, size_t N, size_type Extent_ = Extent, std::enable_if_t<Extent_ != dynamic_extent && N == dynamic_extent &&
                                                     internal::is_qualification_conversion<U, T>::value,
                                                 bool> = true>
void span<T, Extent> (const cpp20::span<U, N> & s)

Defined at line 137 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <typename U, size_t N, size_type Extent_ = Extent, std::enable_if_t<(Extent_ == dynamic_extent || N == Extent_) &&
                                                     internal::is_qualification_conversion<U, T>::value,
                                                 bool> = true>
void span<T, Extent> (const cpp20::span<U, N> & s)

NOLINTNEXTLINE(google-explicit-constructor) Intentionally implicit

Defined at line 146 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

void span<T, Extent> (const span<T, Extent> & s)

Defined at line 150 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

span<T, Extent> & operator= (const span<T, Extent> & s)

Defined at line 151 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

void ~span<T, Extent> ()

Defined at line 153 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

reference operator[] (size_type index)

Defined at line 155 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

iterator begin ()

Defined at line 160 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

iterator end ()

Defined at line 161 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

reverse_iterator rbegin ()

Defined at line 163 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

reverse_iterator rend ()

Defined at line 164 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

reference front ()

Defined at line 166 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

reference back ()

Defined at line 167 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

pointer data ()

Defined at line 169 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

size_type size ()

Defined at line 171 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

size_type size_bytes ()

Defined at line 172 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

bool empty ()

Defined at line 174 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

span<element_type, dynamic_extent> subspan (size_type offset, size_type count)

Defined at line 176 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <size_t Offset, size_t Count = dynamic_extent, size_type E = internal::subspan_extent<size_type, Extent, Offset, Count>::value, size_type Extent_ = Extent, std::enable_if_t<(Offset <= Extent_) &&
                                                     (Count == dynamic_extent || Count <= Extent_ - Offset),
                                                 bool> = true>
span<element_type, E> subspan ()

Defined at line 188 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <size_t Count, size_type Extent_ = Extent, std::enable_if_t<Count <= Extent_, bool> = true>
span<element_type, Count> first ()

Defined at line 195 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

span<element_type, dynamic_extent> first (size_type count)

Defined at line 200 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

template <size_t Count, size_type Extent_ = Extent, std::enable_if_t<Count <= Extent_, bool> = true>
span<element_type, Count> last ()

Defined at line 207 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h

span<element_type, dynamic_extent> last (size_type count)

Defined at line 212 of file ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h