Horizon
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
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 subrangeadvance (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 (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:
 

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 = meta::invoke< detail::dependent_< B >, subrange< I, S, K > >
 
- 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
 
constexpr subrange< I, S, K > 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: