libstdc++
|
Public Member Functions | |
constexpr | subrange (__detail::__convertible_to_non_slicing< _It > auto __i, _Sent __s, __size_type __n) noexcept(is_nothrow_constructible_v< _It, decltype(__i)> &&is_nothrow_constructible_v< _Sent, _Sent & >) requires(_Kind |
decltype(auto) constexpr | back () const requires bidirectional_range< const subrange< _It, _Sent, _Kind > > &&common_range< const subrange< _It, _Sent, _Kind > > |
constexpr _It | begin () const requires copyable< _It > |
constexpr _It | begin () requires(!copyable< _It >) |
constexpr auto | data () noexcept(noexcept(ranges::begin(_M_derived()))) requires contiguous_iterator< iterator_t< subrange< _It, _Sent, _Kind > >> |
constexpr auto | data () const noexcept(noexcept(ranges::begin(_M_derived()))) requires range< const subrange< _It, _Sent, _Kind > > &&contiguous_iterator< iterator_t< const subrange< _It, _Sent, _Kind > >> |
constexpr bool | empty () const |
constexpr _Sent | end () const |
decltype(auto) constexpr | front () requires forward_range< subrange< _It, _Sent, _Kind > > |
decltype(auto) constexpr | front () const requires forward_range< const subrange< _It, _Sent, _Kind > > |
constexpr bool | noexcept (noexcept(_S_empty(_M_derived()))) requires forward_range< subrange< _It, _Sent, _Kind > > |
constexpr | noexcept (is_nothrow_constructible_v< _It, decltype(__i)> &&is_nothrow_constructible_v< _Sent, _Sent & >) requires(!_S_store_size) |
constexpr _It &&convertible_to < sentinel_t< _Rng >, _Sent > constexpr | noexcept (noexcept(subrange(__r, ranges::size(__r)))) requires _S_store_size &&sized_range< _Rng > |
template<__detail::__different_from< subrange > _Rng> | |
requires borrowed_range< _Rng > &&__detail::__convertible_to_non_slicing < iterator_t< _Rng >, _It > &&convertible_to< sentinel_t < _Rng >, _Sent > constexpr | noexcept (noexcept(subrange(ranges::begin(__r), ranges::end(__r)))) requires(!_S_store_size) |
template<borrowed_range _Rng> | |
requires __detail::__convertible_to_non_slicing < iterator_t< _Rng >, _It > &&convertible_to< sentinel_t < _Rng >, _Sent > constexpr | noexcept (noexcept(subrange(ranges::begin(__r), ranges::end(__r), __n))) requires(_Kind |
requires __detail::__convertible_to_non_slicing < iterator_t< _Rng >, _It > &&convertible_to< sentinel_t < _Rng >, _Sent > constexpr const _It const _Sent &constexpr | operator _PairLike () const |
constexpr | operator bool () noexcept(noexcept(ranges::empty(_M_derived()))) requires requires |
constexpr | operator bool () const noexcept(noexcept(ranges::empty(_M_derived()))) requires requires |
decltype(auto) constexpr | operator[] (range_difference_t< _Range > __n) |
decltype(auto) constexpr | operator[] (range_difference_t< _Range > __n) const |
return * | ranges::prev (ranges::end(_M_derived())) |
constexpr auto | size () noexcept(noexcept(_S_size(_M_derived()))) requires forward_range< subrange< _It, _Sent, _Kind > > &&sized_sentinel_for< sentinel_t< subrange< _It, _Sent, _Kind > > |
constexpr auto | size () const noexcept(noexcept(_S_size(_M_derived()))) requires forward_range< const subrange< _It, _Sent, _Kind > > &&sized_sentinel_for< sentinel_t< const subrange< _It, _Sent, _Kind > > |
Public Attributes | |
decltype(auto) constexpr requires bidirectional_range < subrange< _It, _Sent, _Kind > > && | common_range< _Derived > |
constexpr auto | iterator_t< _Derived > |
constexpr auto | iterator_t< const _Derived > |
Friends | |
struct | views::_Drop |
The ranges::subrange class template.
Definition at line 228 of file ranges_util.h.