libstdc++
ranges File Reference

Go to the source code of this file.

Classes

class  std::ranges::empty_view< _Tp >
 
class  std::ranges::single_view< _Tp >
 

Namespaces

 std
 

Macros

#define _GLIBCXX_RANGES
 

Typedefs

template<typename _Wp >
using std::ranges::__detail::__iota_diff_t = decltype(__to_signed_like(std::declval< _Wp >()))
 
template<bool _Const, typename _Tp >
using std::ranges::__detail::__maybe_const_t = __conditional_t< _Const, const _Tp, _Tp >
 
template<bool _Present, typename _Tp >
using std::ranges::__detail::__maybe_present_t = __conditional_t< _Present, _Tp, _Empty >
 
template<viewable_range _Range>
using std::ranges::views::all_t = decltype(all(std::declval< _Range >()))
 
template<typename _Val >
using std::ranges::istream_view = basic_istream_view< _Val, char >
 
template<typename _Range >
using std::ranges::keys_view = elements_view< views::all_t< _Range >, 0 >
 
template<typename _Range >
using std::ranges::values_view = elements_view< views::all_t< _Range >, 1 >
 
template<typename _Val >
using std::ranges::wistream_view = basic_istream_view< _Val, wchar_t >
 

Functions

template<typename _Wp >
constexpr auto std::ranges::__detail::__to_signed_like (_Wp __w) noexcept
 
template<typename _Range >
requires(!common_range< _Vp >) &&copyable< iterator_t< _Vp >> class common_view std::ranges::common_view (_Range &&) -> common_view< views::all_t< _Range >>
 
template<__boxable _Tp>
requires std::ranges::__detail::copyable< _Tp > (is_nothrow_move_constructible_v< _Tp > &&is_nothrow_copy_constructible_v< _Tp >) struct __box< _Tp >
 
template<typename _Range >
 std::ranges::drop_view (_Range &&, range_difference_t< _Range >) -> drop_view< views::all_t< _Range >>
 
template<typename _Range , typename _Pred >
 std::ranges::drop_while_view (_Range &&, _Pred) -> drop_while_view< views::all_t< _Range >, _Pred >
 
template<typename _Range , typename _Pred >
 std::ranges::filter_view (_Range &&, _Pred) -> filter_view< views::all_t< _Range >, _Pred >
 
template<typename _Range >
 std::ranges::join_view (_Range &&) -> join_view< views::all_t< _Range >>
 
template<typename _Range , typename _Pattern >
 std::ranges::lazy_split_view (_Range &&, _Pattern &&) -> lazy_split_view< views::all_t< _Range >, views::all_t< _Pattern >>
 
template<input_range _Range>
 std::ranges::lazy_split_view (_Range &&, range_value_t< _Range >) -> lazy_split_view< views::all_t< _Range >, single_view< range_value_t< _Range >>>
 
template<typename _Range >
 std::ranges::ref_view (_Range &) -> ref_view< _Range >
 
template<typename _Winc , typename _Bound >
 std::ranges::requires (!__detail::__is_integer_like< _Winc >||!__detail::__is_integer_like< _Bound >||(__detail::__is_signed_integer_like< _Winc >==__detail::__is_signed_integer_like< _Bound >)) iota_view(_Winc
 
template<random_access_range _Range>
 std::ranges::__detail::requires (sizeof(range_difference_t< _Range >)<=sizeof(iterator_t< _Range >)) struct _CachedPosition< _Range >
 
template<typename _Range >
 std::ranges::reverse_view (_Range &&) -> reverse_view< views::all_t< _Range >>
 
template<typename _Tp >
 std::ranges::single_view (_Tp) -> single_view< _Tp >
 
template<typename _Range , typename _Pattern >
 std::ranges::split_view (_Range &&, _Pattern &&) -> split_view< views::all_t< _Range >, views::all_t< _Pattern >>
 
template<forward_range _Range>
 std::ranges::split_view (_Range &&, range_value_t< _Range >) -> split_view< views::all_t< _Range >, single_view< range_value_t< _Range >>>
 
template<typename _Range >
 std::ranges::take_view (_Range &&, range_difference_t< _Range >) -> take_view< views::all_t< _Range >>
 
template<typename _Range , typename _Pred >
 std::ranges::take_while_view (_Range &&, _Pred) -> take_while_view< views::all_t< _Range >, _Pred >
 
template<typename _Range , typename _Fp >
 std::ranges::transform_view (_Range &&, _Fp) -> transform_view< views::all_t< _Range >, _Fp >
 

Variables

template<typename _Adaptor , typename... _Args>
concept std::ranges::views::__adaptor::__adaptor_has_simple_extra_args
 
template<typename _Adaptor , typename... _Args>
concept std::ranges::views::__adaptor::__adaptor_invocable
 
template<typename _Adaptor , typename... _Args>
concept std::ranges::views::__adaptor::__adaptor_partial_app_viable
 
template<typename _It >
concept std::ranges::__detail::__advanceable
 
template<typename _Range >
concept std::ranges::views::__detail::__already_common
 
template<typename _Tp >
concept std::ranges::__detail::__boxable
 
template<typename _Range >
concept std::ranges::views::__detail::__can_common_view
 
template<typename _Range , typename _Dp >
concept std::ranges::views::__detail::__can_drop_view
 
template<typename _Range , typename _Pred >
concept std::ranges::views::__detail::__can_drop_while_view
 
template<size_t _Nm, typename _Range >
concept std::ranges::views::__detail::__can_elements_view
 
template<typename _Range , typename _Pred >
concept std::ranges::views::__detail::__can_filter_view
 
template<typename _Range >
concept std::ranges::views::__detail::__can_join_view
 
template<typename _Range , typename _Pattern >
concept std::ranges::views::__detail::__can_lazy_split_view
 
template<typename _Range >
concept std::ranges::views::__detail::__can_owning_view
 
template<typename _Range >
concept std::ranges::views::__detail::__can_ref_view
 
template<typename _Range >
concept std::ranges::views::__detail::__can_reverse_view
 
template<typename _Range , typename _Pattern >
concept std::ranges::views::__detail::__can_split_view
 
template<typename _Range , typename _Dp >
concept std::ranges::views::__detail::__can_take_view
 
template<typename _Range , typename _Pred >
concept std::ranges::views::__detail::__can_take_while_view
 
template<typename _Range , typename _Fp >
concept std::ranges::views::__detail::__can_transform_view
 
template<typename _Adaptor >
concept std::ranges::views::__adaptor::__closure_has_simple_call_op
 
template<typename _It >
concept std::ranges::__detail::__decrementable
 
template<typename _Tp , size_t _Nm>
concept std::ranges::__detail::__has_tuple_element
 
template<typename _Range >
constexpr bool std::ranges::views::__detail::__is_basic_string_view
 
template<typename _CharT , typename _Traits >
constexpr bool std::ranges::views::__detail::__is_basic_string_view< basic_string_view< _CharT, _Traits > >
 
template<typename _Range >
constexpr bool std::ranges::views::__detail::__is_empty_view
 
template<typename _Tp >
constexpr bool std::ranges::views::__detail::__is_empty_view< empty_view< _Tp > >
 
template<typename _Range >
constexpr bool std::ranges::views::__detail::__is_iota_view
 
template<typename _Winc , typename _Bound >
constexpr bool std::ranges::views::__detail::__is_iota_view< iota_view< _Winc, _Bound > >
 
template<typename >
constexpr bool std::ranges::views::__detail::__is_reverse_view
 
template<typename _Vp >
constexpr bool std::ranges::views::__detail::__is_reverse_view< reverse_view< _Vp > >
 
template<typename >
constexpr bool std::ranges::views::__detail::__is_reversible_subrange
 
template<typename _Iter , subrange_kind _Kind>
constexpr bool std::ranges::views::__detail::__is_reversible_subrange< subrange< reverse_iterator< _Iter >, reverse_iterator< _Iter >, _Kind > >
 
template<typename _Range >
constexpr bool std::ranges::views::__detail::__is_subrange
 
template<typename _Iter , typename _Sent , subrange_kind _Kind>
constexpr bool std::ranges::views::__detail::__is_subrange< subrange< _Iter, _Sent, _Kind > >
 
template<typename _Lhs , typename _Rhs , typename _Range >
concept std::ranges::views::__adaptor::__pipe_invocable
 
template<typename _Tp , size_t _Nm>
concept std::ranges::__detail::__returnable_element
 
template<typename _Val , typename _CharT , typename _Traits >
concept std::ranges::__detail::__stream_extractable
 
template<typename _Range >
concept std::ranges::__detail::__tiny_range
 
constexpr _All std::ranges::views::all
 
constexpr _Common std::ranges::views::common
 
constexpr _Counted std::ranges::views::counted
 
constexpr _Drop std::ranges::views::drop
 
constexpr _DropWhile std::ranges::views::drop_while
 
template<size_t _Nm>
constexpr _Elements< _Nm > std::ranges::views::elements
 
template<typename _Tp >
constexpr empty_view< _Tp > std::ranges::views::empty
 
template<typename _Tp >
constexpr bool std::ranges::enable_borrowed_range< common_view< _Tp > >
 
template<typename _Tp >
constexpr bool std::ranges::enable_borrowed_range< drop_view< _Tp > >
 
template<typename _Tp , typename _Pred >
constexpr bool std::ranges::enable_borrowed_range< drop_while_view< _Tp, _Pred > >
 
template<typename _Tp , size_t _Nm>
constexpr bool std::ranges::enable_borrowed_range< elements_view< _Tp, _Nm > >
 
template<typename _Tp >
constexpr bool std::ranges::enable_borrowed_range< empty_view< _Tp > >
 
template<typename _Winc , typename _Bound >
constexpr bool std::ranges::enable_borrowed_range< iota_view< _Winc, _Bound > >
 
template<typename _Tp >
constexpr bool std::ranges::enable_borrowed_range< owning_view< _Tp > >
 
template<typename _Tp >
constexpr bool std::ranges::enable_borrowed_range< ref_view< _Tp > >
 
template<typename _Tp >
constexpr bool std::ranges::enable_borrowed_range< reverse_view< _Tp > >
 
template<typename _Tp >
constexpr bool std::ranges::enable_borrowed_range< take_view< _Tp > >
 
constexpr _Filter std::ranges::views::filter
 
constexpr _Iota std::ranges::views::iota
 
_Bound std::ranges::iota_view< _Winc, _Bound >
 
template<typename _Tp >
constexpr _Istream< _Tp > std::ranges::views::istream
 
constexpr _Join std::ranges::views::join
 
constexpr auto std::ranges::views::keys
 
constexpr _LazySplit std::ranges::views::lazy_split
 
constexpr _Reverse std::ranges::views::reverse
 
constexpr _Single std::ranges::views::single
 
constexpr _Split std::ranges::views::split
 
constexpr _Take std::ranges::views::take
 
constexpr _TakeWhile std::ranges::views::take_while
 
constexpr _Transform std::ranges::views::transform
 
constexpr auto std::ranges::views::values
 

Detailed Description

This is a Standard C++ Library header.

Definition in file ranges.