|
constexpr iterator | begin () const noexcept |
|
constexpr pointer | data () const noexcept |
|
constexpr bool | empty () const noexcept |
|
constexpr iterator | end () const noexcept |
|
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<typename U , index_type M> |
auto | operator!= (span< U, M > const &that) const -> bool requires equality_comparable_with< T, U > |
|
template<typename U , index_type M> |
auto | operator< (span< U, M > const &that) const -> bool requires totally_ordered_with< T, U > |
|
template<typename U , index_type M> |
auto | operator<= (span< U, M > const &that) const -> bool requires totally_ordered_with< T, U > |
|
template<typename U , index_type M> |
auto | operator== (span< U, M > const &that) const -> bool requires equality_comparable_with< T, U > |
|
template<typename U , index_type M> |
auto | operator> (span< U, M > const &that) const -> bool requires totally_ordered_with< T, U > |
|
template<typename U , index_type M> |
auto | operator>= (span< U, M > const &that) const -> bool requires totally_ordered_with< T, U > |
|
constexpr reference | operator[] (index_type idx) const noexcept |
|
constexpr reverse_iterator | rbegin () const noexcept |
|
constexpr reverse_iterator | rend () const noexcept |
|
template<typename Rng > |
| requires (!defer::same_as< span, uncvref_t< Rng >>) &&defer |
|
template<typename Rng > |
| requires (!defer::same_as< span, uncvref_t< Rng >>) &&defer |
|
constexpr index_type | size_bytes () const noexcept |
|
template<typename = void> |
constexpr | span (pointer first, pointer last) noexcept |
|
constexpr | span (pointer ptr, index_type cnt) 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 auto | at (range_difference_t< D< True >> n) -> range_reference_t< D< True >> requires True &&random_access_range< D< True >> &&sized_range< D< True >> |
| Returns a reference to the element at specified location pos, with bounds checking.
|
|
constexpr auto | at (range_difference_t< D< True >> n) const -> range_reference_t< D< True > const > requires True &&random_access_range< D< True > const > &&sized_range< D< True > const > |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
constexpr auto | back () -> range_reference_t< D< True >> requires True &&common_range< D< True >> &&bidirectional_range< D< True >> |
| Access the last element in a range:
|
|
constexpr auto | back () const -> range_reference_t< D< True > const > requires True &&common_range< D< True > const > &&bidirectional_range< D< True > const > |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
constexpr auto | empty () const noexcept -> bool requires(detail::has_fixed_size_(Cardinality)) |
|
constexpr auto | empty () const noexcept(noexcept(bool(ranges::begin(std::declval< D< True > const & >())==ranges::end(std::declval< D< True > const & >())))) -> bool requires True &&(!detail::has_fixed_size_(Cardinality)) &&forward_range< D< True > const > |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
constexpr auto | empty () const noexcept(noexcept(bool(ranges::size(std::declval< D< True > const & >())==0))) -> bool requires True &&(Cardinality< 0) &&(Cardinality !=infinite) &&(!forward_range< D< True > const >)&&sized_range< D< True > const > |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
constexpr auto | empty () noexcept(noexcept(bool(ranges::begin(std::declval< D< True > & >())==ranges::end(std::declval< D< True > & >())))) -> bool requires True &&(!detail::has_fixed_size_(Cardinality)) &&forward_range< D< True >> |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
constexpr auto | empty () noexcept(noexcept(bool(ranges::size(std::declval< D< True > & >())==0))) -> bool requires True &&(Cardinality< 0) &&(Cardinality !=infinite) &&(!forward_range< D< True >>)&&sized_range< D< True >> |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True && | forward_range (input_range< D< True > & > &&sized_range< D< True > & >)) const expr auto operator[](detail |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True && | forward_range (input_range< D< True > & > &&sized_range< D< True > & >)) const expr auto operator[](detail |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True && | forward_range (input_range< D< True > const & > &&sized_range< D< True > const & >)) const expr auto operator[](detail |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True && | forward_range (input_range< D< True > const & > &&sized_range< D< True > const & >)) const expr auto operator[](detail |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True && | forward_range (input_range< D< True >> &&sized_range< D< True >>)) const expr auto operator[](detail |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True && | forward_range (input_range< D< True >> &&sized_range< D< True >>)) const expr auto operator[](detail |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
constexpr auto | front () -> range_reference_t< D< True >> requires True &&forward_range< D< True >> |
| Access the first element in a range:
|
|
constexpr auto | front () const -> range_reference_t< D< True > const > requires True &&forward_range< D< True > const > |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True &&constexpr detail::can_empty_< D< True > const > | operator bool () const noexcept(noexcept(ranges::empty(std::declval< D< True > const & >()))) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True &&constexpr detail::can_empty_< D< True > > | operator bool () noexcept(noexcept(ranges::empty(std::declval< D< True > & >()))) |
|
view_interface & | operator= (view_interface &&)=default |
|
view_interface & | operator= (view_interface const &)=default |
|
requires True &&input_range< D< True > & > &&constexpr sized_range< D< True > & > auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) & |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True &&input_range< D< True > > &&constexpr sized_range< D< True > > auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) && |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True &&input_range< D< True > const & > &&constexpr sized_range< D< True > const & > auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) const & |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True &&constexpr input_range< D< True > & > auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) & |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True &&constexpr input_range< D< True > > auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) && |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True &&constexpr input_range< D< True > const & > auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) const & |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True &&constexpr input_range< D< True > & > auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) & |
| Python-ic slicing:
|
|
requires True &&constexpr input_range< D< True > > auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) && |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
requires True &&constexpr input_range< D< True > const & > auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) const & |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
constexpr auto | operator[] (range_difference_t< D< True >> n) -> range_reference_t< D< True >> requires True &&random_access_range< D< True >> |
| Simple indexing:
|
|
constexpr auto | operator[] (range_difference_t< D< True >> n) const -> range_reference_t< D< True > const > requires True &&random_access_range< D< True > const > |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
constexpr auto | size () -> detail::iter_size_t< iterator_t< D< True >>> requires True &&(Cardinality< 0) &&sized_sentinel_for< sentinel_t< D< True >>, iterator_t< D< True >>> &&forward_range< D< True >> |
| If sized_sentinel_for<sentinel_t<Derived>, iterator_t<Derived>> is satisfied, and if Derived is a forward_range , then return end - begin cast to an unsigned integer.
|
|
constexpr auto | size () const -> detail::iter_size_t< iterator_t< D< True >>> requires True &&(Cardinality< 0) &&sized_sentinel_for< sentinel_t< D< True > const >, iterator_t< D< True > const >> &&forward_range< D< True > const > |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
| view_interface (view_interface &&)=default |
|
| view_interface (view_interface const &)=default |
|