|
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.