|
| template<bool B = EXTENT == 0, typename std::enable_if< B >::type * = nullptr> |
| | span () noexcept |
| |
| | span (T *input_data, size_t count) noexcept |
| |
| | span (T *first, T *last) noexcept |
| |
| template<size_t N, typename std::enable_if< EXTENT==N >::type * = nullptr> |
| | span (T(&array)[N]) noexcept |
| |
| template<size_t N, typename std::enable_if< EXTENT==N >::type * = nullptr> |
| | span (std::array< T, N > &array) noexcept |
| |
| template<size_t N, typename std::enable_if< EXTENT==N >::type * = nullptr> |
| | span (const std::array< T, N > &array) noexcept |
| |
| template<class C , typename std::enable_if< !detail::is_specialized_span_convertible< typename std::decay< C >::type >::value &&std::is_convertible< typename std::remove_pointer< decltype(std::declval< C >().size())>::type(*)[], T(*)[]>::value &&std::is_convertible< decltype(std::declval< C >().size()), size_t >::value , ::type * = nullptr> |
| | span (C &&c) noexcept(noexcept(c.data(), c.size())) |
| |
| template<class U , size_t N, typename std::enable_if< N==EXTENT &&std::is_convertible< U(*)[], T(*)[]>::value >::type * = nullptr> |
| | span (const span< U, N > &other) noexcept |
| |
| | span (const span &) noexcept=default |
| |
| bool | empty () const noexcept |
| |
| T * | data () const noexcept |
| |
| size_t | size () const noexcept |
| |
| T & | operator[] (size_t index) const noexcept |
| |
| T * | begin () const noexcept |
| |
| T * | end () const noexcept |
| |
template<class T, size_t EXTENT>
class gsl::span< T, EXTENT >
Back port of std::span.
See https://en.cppreference.com/w/cpp/container/span for interface documentation.
Note: This provides a subset of the methods available on std::span.
Note: The std::span API specifies error cases to have undefined behavior, so this implementation chooses to terminate or assert rather than throw exceptions.
Definition at line 99 of file span.h.
template<class T , size_t EXTENT>
template<class U , size_t N, typename std::enable_if< N==EXTENT &&std::is_convertible< U(*)[], T(*)[]>::value >::type * = nullptr>