logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

std::ranges::subrange< _It, _Sent, _Kind > - The ranges::subrange class template.

Author

       Generated automatically by Doxygen for libstdc++ from the source code.

                                                    libstdc++   std::ranges::subrange<_It,_Sent,_Kind>(3cxx)

Detailed Description

template<input_or_output_iterator_It,sentinel_for<_It>_Sent=_It,subrange_kind_Kind=sized_sentinel_for<_Sent,_It>?subrange_kind::sized:subrange_kind::unsized>
       requires (_Kind == subrange_kind::sized || !sized_sentinel_for<_Sent, _It>)
       class std::ranges::subrange< _It, _Sent, _Kind >"The ranges::subrange class template.

Name

       std::ranges::subrange< _It, _Sent, _Kind > - The ranges::subrange class template.

Synopsis

       #include <ranges>

       Inherits std::ranges::view_interface<_Derived>.

   PublicMemberFunctions
       constexpr subrange (__detail::__convertible_to_non_slicing< _It > auto __i, _Sent __s)
           noexcept(is_nothrow_constructible_v< _It, decltype(__i)> &&is_nothrow_constructible_v< _Sent, _Sent &
           >)
       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 &
           >)
       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 subrange (_Rng &&__r)
           noexcept(noexcept(subrange(__r, ranges::size(__r)))) _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> (!_S_store_size)constexpr subrange (_Rng &&__r)
           noexcept(noexcept(subrange(ranges::begin(__r), ranges::end(__r))))"
       template<borrowed_range _Rng>
           requires __detail::__convertible_to_non_slicing<iterator_t<_Rng>, _It> &&
           convertible_to<sentinel_t<_Rng>, _Sent> (_Kind == subrange_kind::sized)constexpr subrange (_Rng
           &&__r, __size_type __n) noexcept(noexcept(subrange(ranges::begin(__r), ranges::end(__r), __n)))"
       constexpr subrange & advance (iter_difference_t< _It > __n)
       constexpr decltype(auto) back ()
       constexpr decltype(auto) back () const
       constexpr _It begin ()
       constexpr _It begin () const
       constexpr autodata () const noexcept(noexcept(ranges::begin(_M_derived())))
       constexpr autodata () noexcept(noexcept(ranges::begin(_M_derived())))
       constexpr bool empty () const
       constexpr bool empty () noexcept(noexcept(_S_empty(_M_derived())))
       constexpr _Sent end () const
       constexpr decltype(auto) front ()
       constexpr decltype(auto) front () const
       constexpr subrangenext (iter_difference_t< _It > __n=1) &&
       constexpr subrangenext (iter_difference_t< _It > __n=1) const &
       template<__detail::__different_from< subrange > _PairLike>
           requires __detail::__pair_like_convertible_from<_PairLike, const _It&, const _Sent&>constexpr
           operator_PairLike () const"
       constexpr operatorbool () const noexcept(noexcept(ranges::empty(_M_derived())))
       constexpr operatorbool () noexcept(noexcept(ranges::empty(_M_derived())))
       template<random_access_range _Range = _Derived> constexpr decltype(auto) operator[] (range_difference_t<
           _Range > __n)
       template<random_access_range _Range = const _Derived> constexpr decltype(auto) operator[]
           (range_difference_t< _Range > __n) const
       constexpr subrangeprev (iter_difference_t< _It > __n=1) const
       constexpr __size_type size () const
       constexpr autosize () noexcept(noexcept(_S_size(_M_derived())))

   Friendsstructviews::_Drop

See Also