Horizon
Loading...
Searching...
No Matches
ranges::span< T, N > Struct Template Reference
Inheritance diagram for ranges::span< T, N >:
ranges::view_interface< span< T, dynamic_extent >,(dynamic_extent==dynamic_extent ? finite :static_cast< cardinality >(dynamic_extent))> ranges::basic_view< Cardinality > ranges::view_base

Public Types

using element_type = T
using value_type = meta::_t<std::remove_cv<T>>
using index_type = detail::span_index_t
using difference_type = index_type
using pointer = T *
using reference = T &
using iterator = T *
using reverse_iterator = ranges::reverse_iterator<iterator>

Public Member Functions

 CPP_assert (std::is_object< T >::value)
constexpr span (pointer ptr, index_type cnt) noexcept
template<typename = void>
constexpr span (pointer first, pointer last) noexcept
 template (typename Rng)(AND span_compatible_range< Rng
T AND span_dynamic_conversion< Rng, N > constexpr span (Rng &&rng) noexcept(noexcept(ranges::data(rng), ranges::size(rng)))
 template (typename Rng)(AND span_compatible_range< Rng
T AND span_static_conversion< Rng, N > constexpr span (Rng &&rng) noexcept(noexcept(ranges::data(rng)))
template<index_type Count>
constexpr span< T, Count > first () const noexcept
constexpr span< T > first (index_type cnt) const noexcept
template<index_type Count>
constexpr span< T, Count > last () const noexcept
constexpr span< T > last (index_type cnt) const noexcept
template<index_type Offset, index_type Count>
constexpr span< T, detail::subspan_extent(N, Offset, Count)> subspan () const noexcept
template<index_type Offset>
constexpr span< T,(N >=Offset ? N - Offset :dynamic_extent)> subspan () const noexcept
constexpr span< T, dynamic_extent > subspan (index_type offset) const noexcept
constexpr span< T, dynamic_extent > subspan (index_type offset, index_type cnt) const noexcept
constexpr pointer data () const noexcept
constexpr index_type size_bytes () const noexcept
constexpr bool empty () const noexcept
constexpr reference operator[] (index_type idx) const noexcept
constexpr iterator begin () const noexcept
constexpr iterator end () const noexcept
constexpr reverse_iterator rbegin () const noexcept
constexpr reverse_iterator rend () const noexcept
 template (typename U, index_type M)() bool operator
Public Member Functions inherited from ranges::view_interface< span< T, dynamic_extent >,(dynamic_extent==dynamic_extent ? finite :static_cast< cardinality >(dynamic_extent))>
view_interface & operator= (view_interface &&)=default
CPP_member constexpr auto empty () const noexcept -> CPP_ret(bool)()
 Test whether a range can be empty:

Static Public Attributes

static constexpr index_type extent = N

Additional Inherited Members

Protected Types inherited from ranges::view_interface< span< T, dynamic_extent >,(dynamic_extent==dynamic_extent ? finite :static_cast< cardinality >(dynamic_extent))>
using D
Protected Member Functions inherited from ranges::view_interface< span< T, dynamic_extent >,(dynamic_extent==dynamic_extent ? finite :static_cast< cardinality >(dynamic_extent))>
constexpr span< T, dynamic_extent > & derived () noexcept

The documentation for this struct was generated from the following file: