Horizon
Loading...
Searching...
No Matches
ranges::subrange< I, S, K > Struct Template Reference
Inheritance diagram for ranges::subrange< I, S, K >:
ranges::view_interface< subrange< I, S, K >, same_as< S, unreachable_sentinel_t > ? infinite :K==subrange_kind::sized ? finite :unknown > ranges::basic_view< Cardinality > ranges::view_base

Public Types

using size_type = detail::iter_size_t<I>
using iterator = I
using sentinel = S

Public Member Functions

 CPP_assert (input_or_output_iterator< I >)
 CPP_assert (sentinel_for< S, I >)
 CPP_assert (K==subrange_kind::sized||!sized_sentinel_for< S, I >)
 CPP_assert (K !=subrange_kind::sized||!same_as< S, unreachable_sentinel_t >)
 template (typename I2)(AND(!detail
 template (typename I2)(AND(detail
 template (typename I2)(AND sized_sentinel_for< S
I constexpr subrange (I2 &&i, S s, size_type n)
 template (typename R)(AND detail
 template (typename R)(AND detail
 template (typename R)(AND detail
 template (typename PairLike)(AND detail
constexpr S end () const noexcept(std::is_nothrow_copy_constructible< S >::value)
constexpr bool empty () const
CPP_member constexpr auto size () const -> CPP_ret(size_type)()
RANGES_NODISCARD constexpr subrange next (iter_difference_t< I > n=1) const
CPP_member RANGES_NODISCARD constexpr auto prev (iter_difference_t< I > n=1) const -> CPP_ret(subrange)()
constexpr subrange & advance (iter_difference_t< I > n)
Public Member Functions inherited from ranges::view_interface< subrange< I, S, K >, same_as< S, unreachable_sentinel_t > ? infinite :K==subrange_kind::sized ? finite :unknown >
view_interface & operator= (view_interface &&)=default
CPP_member constexpr auto empty () const noexcept -> CPP_ret(bool)()
 Test whether a range can be empty:

Additional Inherited Members

Protected Types inherited from ranges::view_interface< subrange< I, S, K >, same_as< S, unreachable_sentinel_t > ? infinite :K==subrange_kind::sized ? finite :unknown >
using D
Protected Member Functions inherited from ranges::view_interface< subrange< I, S, K >, same_as< S, unreachable_sentinel_t > ? infinite :K==subrange_kind::sized ? finite :unknown >
constexpr subrange< I, S, K > & derived () noexcept

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