Horizon
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
ranges::span< T, N > Struct Template Reference
Inheritance diagram for ranges::span< T, N >:
ranges::view_interface< Derived, Cardinality > 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< Derived, Cardinality >
 view_interface (view_interface &&)=default
 
 view_interface (view_interface const &)=default
 
view_interfaceoperator= (view_interface &&)=default
 
view_interfaceoperator= (view_interface const &)=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< Derived, Cardinality >
template<bool B>
using D = meta::invoke< detail::dependent_< B >, Derived >
 
- Protected Member Functions inherited from ranges::view_interface< Derived, Cardinality >
constexpr Derived & derived () noexcept
 
constexpr Derived const & derived () const noexcept
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 

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