Range-v3
Range algorithms, views, and actions for the Standard Library
|
|
|
template<typename T , typename Cat > |
concept | concepts::detail::compares_as = same_as<ranges::common_comparison_category_t<T, Cat>, Cat> |
|
template<typename T , typename Cat = std::partial_ordering> |
concept | concepts::three_way_comparable |
|
template<typename T , typename U , typename Cat = std::partial_ordering> |
concept | concepts::three_way_comparable_with |
|
Definition: shared.hpp:65
compose< quote< _t >, quote_i< T, C > > quote_trait_i
Turn a trait template C taking literals of type T into an invocable.
Definition: meta.hpp:761
constexpr auto operator()(T &&t) const -> detail::decay_t< T >
Definition: copy.hpp:34
Definition: range_fwd.hpp:518
constexpr iter_difference_t< I > operator()(I first, S last) const
Definition: operations.hpp:283
bool lexicographical_compare(I0 begin0, S0 end0, I1 begin1, S1 end1, C pred=C{}, P0 proj0=P0{}, P1 proj1=P1{})
function template lexicographical_compare
Definition: lexicographical_compare.hpp:31
Definition: arithmetic.hpp:54
Definition: slice.hpp:291
sample_view< all_t< Rng >, URNG > operator()(Rng &&rng, range_difference_t< Rng > sample_size, URNG &generator=detail::get_random_engine()) const
Definition: sample.hpp:215
meta::if_c< std::is_reference< T >)||copyable< T >, T > any_cast(any &)
Definition: any.hpp:173
constexpr bool contains(Rng &&rng, const T &val, P proj={})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: contains.hpp:48
borrowed_iterator_t< Rng > reverse(Rng &&rng)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: reverse.hpp:73
common_view< all_t< Rng > > operator()(Rng &&rng) const
Definition: common.hpp:183
Definition: subrange.hpp:137
set_intersection_view< all_t< Rng1 >, all_t< Rng2 >, C, P1, P2 > operator()(Rng1 &&rng1, Rng2 &&rng2, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{}) const
Definition: set_algorithm.hpp:391
constexpr inserter_fn inserter
Definition: insert_iterators.hpp:174
Definition: shared.hpp:68
iter_difference_t< I2 > operator-(common_iterator< I1, S1 > const &x, common_iterator< I2, S2 > const &y)
Definition: common_iterator.hpp:255
meta::size_t< sizeof(T)> sizeof_
An alias that computes the size of the type T.
Definition: meta.hpp:666
Definition: compose.hpp:83
copy_backward_result< borrowed_iterator_t< Rng >, O > copy_backward(Rng &&rng, O out)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: copy_backward.hpp:54
Definition: stream_iterators.hpp:78
constexpr remove_if_view< all_t< Rng >, Pred > operator()(Rng &&rng, Pred pred) const
Definition: remove_if.hpp:151
Definition: common_iterator.hpp:53
constexpr _crend_::fn crend
Definition: access.hpp:690
borrowed_iterator_t< Rng > sort_heap(Rng &&rng, C pred=C{}, P proj=P{})
Definition: heap_algorithm.hpp:411
typename T::type _t
Type alias for T::type.
Definition: meta.hpp:139
Definition: operations.hpp:89
Definition: concepts.hpp:204
ranges::subrange< Char * > operator()(Char(&sz)[N]) const
Definition: c_str.hpp:65
Definition: unique.hpp:33
defer< repeat_n, N, T > repeat_n
Definition: meta.hpp:1511
Definition: operations.hpp:431
Definition: stream_iterators.hpp:30
bool_< 0==size< L >::type::value > empty
An Boolean integral constant wrapper around true if L is an empty type list; false,...
Definition: meta.hpp:1824
move_result< borrowed_iterator_t< Rng >, O > move(Rng &&rng, O out)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: move.hpp:53
merge_result< I0, I1, O > merge(I0 begin0, S0 end0, I1 begin1, S1 end1, O out, C pred=C{}, P0 proj0=P0{}, P1 proj1=P1{})
function template merge
Definition: merge.hpp:47
split_view(R &&, range_value_t< R >) -> split_view< views::all_t< R >, single_view< range_value_t< R >>>
Definition: drop_exactly.hpp:162
span(Rng &&rng) -> span< detail::element_t< Rng >,(range_cardinality< Rng >::value< cardinality() ? dynamic_extent :static_cast< detail::span_index_t >(range_cardinality< Rng >::value))>
Definition: indirect.hpp:130
constexpr auto begin() -> detail::facade_iterator_t< D >
Let d be static_cast<Derived &>(*this). Let b be std::as_const(d).begin_cursor() if that expression i...
Definition: facade.hpp:89
std::integral_constant< decltype(T::type::value &U::type::value), T::type::value &U::type::value > bit_and
An integral constant wrapper around the result of bitwise-and'ing the two wrapped integers T::type::v...
Definition: meta.hpp:272
Definition: range_fwd.hpp:618
mismatch_result< borrowed_iterator_t< Rng1 >, borrowed_iterator_t< Rng2 > > mismatch(Rng1 &&rng1, Rng2 &&rng2, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: mismatch.hpp:97
join_action_value_t_< Rng > operator()(Rng &&rng) const
Definition: join.hpp:45
constexpr range_reference_t< D< True > > front()
Access the first element in a range:
Definition: interface.hpp:252
Definition: operations.hpp:339
partition_copy_result< borrowed_iterator_t< Rng >, O0, O1 > partition_copy(Rng &&rng, O0 o0, O1 o1, C pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: partition_copy.hpp:61
defer< and_, Bs... > and_
Definition: meta.hpp:1127
detail::is_valid_< T > is_valid
For testing whether a deferred computation will succeed in a let or a lambda.
Definition: meta.hpp:3047
Definition: for_each.hpp:93
integer_sequence< std::size_t, Is... > index_sequence
A container for a sequence of compile-time integer constants of type std::size_t.
Definition: meta.hpp:433
std::integral_constant< decltype(T::type::value+U::type::value), T::type::value+U::type::value > plus
An integral constant wrapper around the result of adding the two wrapped integers T::type::value and ...
Definition: meta.hpp:195
Reversed the source range in-place.
Definition: reverse.hpp:33
Definition: range_fwd.hpp:610
borrowed_iterator_t< Rng > stable_sort(Rng &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: stable_sort.hpp:205
defer< first, Pair > first
Definition: meta.hpp:1856
constexpr at_fn at
Checked indexed range access.
Definition: operations.hpp:60
Definition: arithmetic.hpp:65
Definition: concepts.hpp:211
set_symmetric_difference_view< all_t< Rng1 >, all_t< Rng2 >, C, P1, P2 > operator()(Rng1 &&rng1, Rng2 &&rng2, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{}) const
Definition: set_algorithm.hpp:810
constexpr make_pipeable_fn make_pipeable
Definition: pipeable.hpp:60
constexpr make_tuple_fn make_tuple
Definition: tuple_algorithm.hpp:176
Definition: stride.hpp:320
friend auto operator<<(std::ostream &sout, Derived const &rng) -> std::ostream &
Print a range to an ostream.
Definition: interface.hpp:505
borrowed_iterator_t< Rng > fill(Rng &&rng, V const &val)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: fill.hpp:43
copy_if_result< borrowed_iterator_t< Rng >, O > copy_if(Rng &&rng, O out, F pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: copy_if.hpp:63
Definition: range_fwd.hpp:494
Definition: set_algorithm.hpp:583
split_when_view< all_t< Rng >, Fun > operator()(Rng &&rng, Fun fun) const
Definition: split_when.hpp:175
Definition: comparisons.hpp:103
constexpr action_closure< reverse_fn > reverse
Definition: reverse.hpp:46
Definition: basic_iterator.hpp:38
constexpr tuple_for_each_fn tuple_for_each
Definition: tuple_algorithm.hpp:161
Definition: remove.hpp:31
borrowed_subrange_t< Rng > search_n(Rng &&rng, iter_difference_t< iterator_t< Rng >> cnt, V const &val, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: search_n.hpp:165
tokenize_view< all_t< Rng >, detail::decay_t< Regex >, int > operator()(Rng &&rng, Regex &&rex, int sub=0, std::regex_constants::match_flag_type flags=std::regex_constants::match_default) const
Definition: tokenize.hpp:107
Definition: range_fwd.hpp:694
constexpr Derived const & derived() const noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: interface.hpp:132
Definition: sample.hpp:238
Definition: range_fwd.hpp:169
Definition: repeat.hpp:98
constexpr indirect_fn indirect
Definition: indirect.hpp:90
constexpr next_fn next
Definition: operations.hpp:181
A type-erased view.
Definition: any_view.hpp:544
View a \0-terminated C string (e.g. from a const char*) as a range.
Definition: c_str.hpp:60
defer< as_list, Sequence > as_list
Definition: meta.hpp:2414
Definition: drop_while.hpp:91
Definition: optional.hpp:38
Definition: tuple_algorithm.hpp:164
at_c< L, N::type::value > at
Return the N th element in the meta::list L.
Definition: meta.hpp:1562
constexpr auto operator()(T &&t) const
Definition: all.hpp:63
Definition: insert_iterators.hpp:64
generate_result< O, F > generate(O first, S last, F fun)
function template generate_n
Definition: generate.hpp:37
remove_if_view(Rng &&, Pred) -> remove_if_view< views::all_t< Rng >, Pred >
Definition: for_each.hpp:105
zip_with_view(Fun, Rng &&...) -> zip_with_view< Fun, views::all_t< Rng >... >
bool is_sorted(Rng &&rng, R rel=R{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: is_sorted.hpp:60
defer< repeat_n, meta::size_t< N >, T > repeat_n_c
Definition: meta.hpp:1516
cycled_view< all_t< Rng > > operator()(Rng &&rng) const
Definition: cycle.hpp:224
Definition: adjacent_difference.hpp:43
constexpr split_view< all_t< Rng >, single_view< range_value_t< Rng > > > operator()(Rng &&rng, range_value_t< Rng > val) const
Definition: split.hpp:571
defer< count, L, T > count
Definition: meta.hpp:2222
Definition: partial_sum.hpp:170
constexpr range_reference_t< Rng > operator()(Rng &&rng, range_difference_t< Rng > n) const
Definition: operations.hpp:40
iota_view< From > operator()(From value) const
Definition: iota.hpp:460
constexpr range_difference_t< Rng > operator()(Rng &&rng) const
Definition: operations.hpp:450
Definition: delimit.hpp:34
constexpr tuple_foldl_fn tuple_foldl
Definition: tuple_algorithm.hpp:137
Users can specialize this to hook the common_reference_with concept.
Definition: type_traits.hpp:298
Definition: range_fwd.hpp:706
Definition: insert_iterators.hpp:126
Definition: repeat_n.hpp:106
Definition: linear_distribute.hpp:33
defer< at, L, N > at
Definition: meta.hpp:1569
defer< second, Pair > second
Definition: meta.hpp:1861
typename Fn::template invoke< Args... > invoke
Evaluate the invocable Fn with the arguments Args.
Definition: meta.hpp:508
_t< detail::_or_< Bs... > > or_
Logically OR together all the integral constant-wrapped Boolean parameters, with short-circuiting.
Definition: meta.hpp:1115
defer< _t, T > _t
Definition: meta.hpp:155
Definition: unique.hpp:33
protector< uncvref_t< F > > operator()(F &&f) const
Definition: bind.hpp:99
constexpr auto operator()(C pred, P proj={}) const
Definition: sort.hpp:37
Definition: intersperse.hpp:239
I adjacent_find(I first, S last, C pred=C{}, P proj=P{})
function template adjacent_find
Definition: adjacent_find.hpp:37
constexpr auto begin()
Definition: take.hpp:107
constexpr bool ends_with(Rng0 &&rng0, Rng1 &&rng1, C pred=C{}, P0 proj0=P0{}, P1 proj1=P1{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: ends_with.hpp:58
ranges::empty_view< T > empty_view
Definition: empty.hpp:74
constexpr auto size()
Definition: take.hpp:199
constexpr copy_fn copy
Definition: copy.hpp:53
constexpr auto operator()(Rng &&rng, range_difference_t< Rng > from, range_difference_t< Rng > to) const
Definition: slice.hpp:217
constexpr tuple_transform_fn tuple_transform
Definition: tuple_algorithm.hpp:95
auto to() -> detail::to_container_fn< detail::from_range< ContT >>
For initializing a container of the specified type with the elements of an Range.
Definition: conversion.hpp:394
Definition: reference_wrapper.hpp:70
constexpr make_common_tuple_fn make_common_tuple
Definition: common_tuple.hpp:278
bool operator==(common_iterator< I1, S1 > const &x, common_iterator< I2, S2 > const &y)
Definition: common_iterator.hpp:216
std::integral_constant< decltype(T::type::value/U::type::value), T::type::value/U::type::value > divides
An integral constant wrapper around the result of dividing the two wrapped integers T::type::value an...
Definition: meta.hpp:216
constexpr void operator()(I &i, iter_difference_t< I > n) const
Definition: operations.hpp:39
constexpr auto operator()(Pred &&pred, Proj proj) const
Definition: trim.hpp:133
auto insert(Cont &&cont, I p, Rng &&rng) -> decltype(detail::insert_impl(static_cast< Cont && >(cont), std::move(p), static_cast< Rng && >(rng), meta::bool_< random_access_reservable< Cont > &&sized_range< Rng >>
Definition: insert.hpp:196
Definition: range_fwd.hpp:563
constexpr auto operator()(C pred, P proj=P{}) const
Definition: remove_if.hpp:38
constexpr auto operator()(detail::from_end_< D > from, end_fn const &to) const
Definition: slice.hpp:71
_t< detail::front_< L > > front
Return the first element in meta::list L.
Definition: meta.hpp:1663
bool_< T::type::value !=U::type::value > not_equal_to
A Boolean integral constant wrapper around the result of comparing T::type::value and U::type::value ...
Definition: meta.hpp:241
binary_transform_result< borrowed_iterator_t< Rng0 >, uncvref_t< I1Ref >, O > transform(Rng0 &&rng0, I1Ref &&begin1, O out, F fun, P0 proj0=P0{}, P1 proj1=P1{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: transform.hpp:132
Definition: sliding.hpp:375
Definition: counted.hpp:89
constexpr auto operator()(T t) const
Definition: intersperse.hpp:245
constexpr detail::for_each_fn for_each
for_each(L, Fn) calls the Fn for each argument in the L.
Definition: meta.hpp:2328
bool any_of(Rng &&rng, F pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: any_of.hpp:49
std::integral_constant< decltype(T::type::value *U::type::value), T::type::value *U::type::value > multiplies
An integral constant wrapper around the result of multiplying the two wrapped integers T::type::value...
Definition: meta.hpp:209
Definition: take_while.hpp:106
defer< flip, Fn > flip
Definition: meta.hpp:890
Definition: comparisons.hpp:62
constexpr chunk_view< all_t< Rng > > operator()(Rng &&rng, range_difference_t< Rng > n) const
Definition: chunk.hpp:437
auto size()
Definition: common.hpp:103
replace_copy_if_result< borrowed_iterator_t< Rng >, O > replace_copy_if(Rng &&rng, O out, C pred, T const &new_value, P proj={})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: replace_copy_if.hpp:55
bool_< is_callable_v< T > > is_callable
An alias for std::true_type if T::invoke exists and names a class template; otherwise,...
Definition: meta.hpp:580
generate_result< borrowed_iterator_t< Rng >, F > generate(Rng &&rng, F fun)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: generate.hpp:49
ranges::reverse_view< Rng > reverse_view
Definition: reverse.hpp:176
constexpr std::add_pointer_t< range_reference_t< D< True > > > data()
Returns a pointer to the block of memory containing the elements of a contiguous range:
Definition: interface.hpp:303
take_while_view(Rng &&, Fun) -> take_while_view< views::all_t< Rng >, Fun >
Rng operator()(Rng &&rng) const
Definition: reverse.hpp:37
Given a source range, unary predicate, and optional projection, present a view of the elements that d...
Definition: remove_if.hpp:146
constexpr action_closure< sort_fn > sort
Definition: sort.hpp:55
constexpr auto operator()(I_ &&begin_, Val value) const -> delimit_view< subrange< I, unreachable_sentinel_t >, Val >
Definition: delimit.hpp:89
and_c< Bs::type::value... > strict_and_
Logically AND together all the integral constant-wrapped Boolean parameters, without short-circuiting...
Definition: meta.hpp:1073
constexpr copy_result< borrowed_iterator_t< Rng >, O > copy(Rng &&rng, O out)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: copy.hpp:53
all_t< Rng > operator()(Rng &&rng) const
Definition: common.hpp:164
bool_<(T::type::value > U::type::value)> greater
A Boolean integral constant wrapper around true if T::type::value is greater than U::type::value; fal...
Definition: meta.hpp:247
Definition: common.hpp:54
Definition: unbounded.hpp:51
constexpr iter_distance_compare_fn iter_distance_compare
Definition: operations.hpp:335
constexpr auto size()
Definition: tail.hpp:83
borrowed_subrange_t< Rng > equal_range(Rng &&rng, V const &val, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: equal_range.hpp:96
Definition: compressed_pair.hpp:99
Definition: range_fwd.hpp:459
ranges::view_interface< Derived, ranges::unknown > view_interface
Definition: interface.hpp:538
if_< bool_< If >, Args... > if_c
Definition: meta.hpp:999
constexpr auto size()
Definition: stride.hpp:279
auto to(Rng &&rng) -> ContT< range_value_t< Rng >>
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: conversion.hpp:405
constexpr back_inserter_fn back_inserter
Definition: insert_iterators.hpp:73
void void_
An alias for void.
Definition: meta.hpp:556
Definition: concepts.hpp:252
Definition: partial_sum.hpp:182
Definition: cache1.hpp:30
constexpr auto operator()(Pred pred, Proj proj={}) const
Definition: adjacent_remove_if.hpp:36
iter_difference_t< iterator_t< Rng > > count_if(Rng &&rng, R pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: count_if.hpp:50
constexpr bool operator==(S const &left, basic_iterator< Cur > const &right)
Definition: basic_iterator.hpp:775
static iter_reference_t< I > read(I const &it, detail::adaptor_base_current_mem_fn={}) noexcept(noexcept(iter_reference_t< I >(*it)))
Definition: adaptor.hpp:133
constexpr auto operator()(C pred, P proj=P{}) const
Definition: unique.hpp:37
Definition: concepts.hpp:574
borrowed_iterator_t< Rng > nth_element(Rng &&rng, iterator_t< Rng > nth, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: nth_element.hpp:301
merge_result< borrowed_iterator_t< Rng0 >, borrowed_iterator_t< Rng1 >, O > merge(Rng0 &&rng0, Rng1 &&rng1, O out, C pred=C{}, P0 proj0=P0{}, P1 proj1=P1{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: merge.hpp:77
borrowed_iterator_t< Rng > remove_if(Rng &&rng, C pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: remove_if.hpp:63
meta::if_c< std::is_reference< R >::value, meta::_t< std::remove_reference< R > > &&, detail::decay_t< R > > move_t
Definition: move.hpp:56
borrowed_iterator_t< Rng > replace(Rng &&rng, T1 const &old_value, T2 const &new_value, P proj={})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: replace.hpp:51
Definition: generate_n.hpp:31
std::integral_constant< decltype(T::type::value ^ U::type::value), T::type::value ^ U::type::value > bit_xor
An integral constant wrapper around the result of bitwise-exclusive-or'ing the two wrapped integers T...
Definition: meta.hpp:286
static constexpr std::size_t size() noexcept
Definition: cartesian_product.hpp:406
auto size() const
Definition: shared.hpp:56
Definition: traits.hpp:42
constexpr auto operator()(C pred, P proj=P{}) const
Definition: stable_sort.hpp:37
Definition: generate.hpp:84
Definition: pipeable.hpp:66
constexpr reverse_view< all_t< Rng > > operator()(Rng &&rng) const
Definition: reverse.hpp:156
constexpr bool operator()(T &&t, U &&u) const
Definition: comparisons.hpp:30
_t< detail::_and_< Bs... > > and_
Logically AND together all the integral constant-wrapped Boolean parameters, with short-circuiting.
Definition: meta.hpp:1083
Definition: range_fwd.hpp:423
Given a source range and a unary predicate, present a view of the elements that satisfy the predicate...
Definition: filter.hpp:51
Definition: chunk.hpp:408
borrowed_iterator_t< Rng > remove(Rng &&rng, T const &val, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: remove.hpp:64
Definition: comparisons.hpp:26
Definition: indirect.hpp:30
defer< uncurry, Fn > uncurry
Definition: meta.hpp:862
std::integral_constant< decltype(-T::type::value), -T::type::value > negate
An integral constant wrapper around the result of negating the wrapped integer T::type::value.
Definition: meta.hpp:222
I is_sorted_until(I first, S last, R pred=R{}, P proj=P{})
template function is_sorted_until
Definition: is_sorted_until.hpp:46
tail_view(Rng &&) -> tail_view< views::all_t< Rng >>
drop_while_view(Rng &&, Fun) -> drop_while_view< views::all_t< Rng >, Fun >
borrowed_iterator_t< Rng > lower_bound(Rng &&rng, V const &val, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: lower_bound.hpp:50
constexpr auto operator()(Val1 old_value, Val2 new_value) const
Definition: replace.hpp:105
Definition: drop_last.hpp:355
bool lexicographical_compare(Rng0 &&rng0, Rng1 &&rng1, C pred=C{}, P0 proj0=P0{}, P1 proj1=P1{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: lexicographical_compare.hpp:52
constexpr group_by_view< all_t< Rng >, Fun > operator()(Rng &&rng, Fun fun) const
Definition: group_by.hpp:151
Definition: stride.hpp:31
set_difference_result< borrowed_iterator_t< Rng1 >, O > set_difference(Rng1 &&rng1, Rng2 &&rng2, O out, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: set_algorithm.hpp:243
constexpr basic_iterator< Cur >::difference_type operator-(basic_iterator< Cur > const &left, S const &right)
Definition: basic_iterator.hpp:837
Definition: range_fwd.hpp:502
constexpr stride_view< all_t< Rng > > operator()(Rng &&rng, range_difference_t< Rng > step) const
Definition: stride.hpp:313
constexpr auto operator()(Fun fun) const
Definition: drop_while.hpp:35
replace_copy_result< borrowed_iterator_t< Rng >, O > replace_copy(Rng &&rng, O out, T1 const &old_value, T2 const &new_value, P proj={})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: replace_copy.hpp:55
Definition: not_fn.hpp:30
Definition: filter.hpp:65
borrowed_iterator_t< OutRng > partial_sort_copy(InRng &&in_rng, OutRng &&out_rng, C pred=C{}, PI in_proj=PI{}, PO out_proj=PO{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: partial_sort_copy.hpp:63
I sort_heap(I first, S last, C pred=C{}, P proj=P{})
Definition: heap_algorithm.hpp:399
reverse_copy_result< borrowed_iterator_t< Rng >, O > reverse_copy(Rng &&rng, O out)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: reverse_copy.hpp:54
ref_view(R &) -> ref_view< R >
O fill_n(O first, iter_difference_t< O > n, V const &val)
function template equal
Definition: fill_n.hpp:35
ranges::single_view< T > single_view
Definition: single.hpp:127
auto operator()(Rng &&rng, range_difference_t< Rng > n) const
Definition: drop.hpp:160
detail::on_< Fns... > on_
Use as on<Fn, Gs...>. Creates an invocable that applies invocable Fn to the result of applying invoca...
Definition: meta.hpp:913
_t< detail::_if_< Args... > > if_
Select one type or another depending on a compile-time Boolean.
Definition: meta.hpp:983
Definition: common.hpp:179
Definition: take_while.hpp:119
generate_view< G > operator()(G g) const
Definition: generate.hpp:93
constexpr I operator()(I it) const
Definition: operations.hpp:150
set_symmetric_difference_result< borrowed_iterator_t< Rng1 >, borrowed_iterator_t< Rng2 >, O > set_symmetric_difference(Rng1 &&rng1, Rng2 &&rng2, O out, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: set_algorithm.hpp:319
borrowed_iterator_t< Rng > stable_partition(Rng &&rng, C pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: stable_partition.hpp:309
Definition: bind_back.hpp:165
_t< detail::count_< L, T > > count
Count the number of times a type T appears in the list L.
Definition: meta.hpp:2215
move_iterator & operator=(move_iterator< O > const &i)
Definition: move_iterators.hpp:54
I partial_sort(I first, I middle, S last, C pred=C{}, P proj=P{})
function template partial_sort
Definition: partial_sort.hpp:31
I partition_point(I first, S last, C pred, P proj=P{})
function template partition_point
Definition: partition_point.hpp:51
defer< not_fn, Fn > not_fn
Definition: meta.hpp:2462
constexpr borrowed_iterator_t< Rng0 > find_first_of(Rng0 &&rng0, Rng1 &&rng1, R pred=R{}, P0 proj0=P0{}, P1 proj1=P1{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: find_first_of.hpp:54
auto operator()(Rng &&rng) const
Definition: enumerate.hpp:99
Definition: push_back.hpp:74
constexpr auto operator()(Int n) const
Definition: take.hpp:245
borrowed_iterator_t< Rng > adjacent_remove_if(Rng &&rng, Pred pred, Proj proj={})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: adjacent_remove_if.hpp:65
defer< front, L > front
Definition: meta.hpp:1670
ranges::ref_view< Rng > ref_view
Definition: ref.hpp:114
concept view_
View concepts below.
Definition: concepts.hpp:190
concat_view< all_t< Rngs >... > operator()(Rngs &&... rngs) const
Definition: concat.hpp:412
bool is_partitioned(Rng &&rng, C pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: is_partitioned.hpp:59
Definition: partial_sum.hpp:72
Definition: take_while.hpp:174
constexpr minmax_result< T > minmax(std::initializer_list< T > const &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: minmax.hpp:106
defer< find_index, L, T > find_index
Definition: meta.hpp:1915
constexpr bool operator<(basic_iterator< Left > const &left, basic_iterator< Right > const &right)
Definition: basic_iterator.hpp:845
T & emplace(Args &&... args) noexcept(std::is_nothrow_constructible< T, Args... >::value)
Definition: optional.hpp:587
Definition: range_fwd.hpp:462
std::vector< split_value_t< Rng > > operator()(Rng &&rng, Pattern &&pattern) const
Definition: split.hpp:69
constexpr iter_size_fn iter_size
Definition: operations.hpp:354
defer< bind_front, Fn, Ts... > bind_front
Definition: meta.hpp:790
constexpr adjacent_filter_view< all_t< Rng >, Pred > operator()(Rng &&rng, Pred pred) const
Definition: adjacent_filter.hpp:155
auto operator->() const noexcept(noexcept(common_iterator::operator_arrow_(std::declval< I const & >(), 42))) -> decltype(common_iterator::operator_arrow_(std::declval< J const & >(), 42))
Definition: common_iterator.hpp:155
bool_< is_trait_v< T > > is_trait
An alias for std::true_type if T::type exists and names a type; otherwise, it's an alias for std::fal...
Definition: meta.hpp:574
constexpr auto operator()(D step) const
Definition: stride.hpp:35
Definition: common_tuple.hpp:265
Definition: exclusive_scan.hpp:163
An iota view in a closed range.
Definition: range_fwd.hpp:566
tokenize_view(Rng &&, Regex, SubMatchRange) -> tokenize_view< views::all_t< Rng >, Regex, SubMatchRange >
I lower_bound(I first, S last, V const &val, C pred=C{}, P proj=P{})
function template lower_bound
Definition: lower_bound.hpp:35
Definition: cartesian_product.hpp:436
Definition: pipeable.hpp:42
borrowed_iterator_t< Rng > adjacent_find(Rng &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: adjacent_find.hpp:54
unique_copy_result< borrowed_iterator_t< Rng >, O > unique_copy(Rng &&rng, O out, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: unique_copy.hpp:137
Definition: stream_iterators.hpp:142
constexpr cache1_view< all_t< Rng > > operator()(Rng &&rng) const
Caches the most recent element within the view so that dereferencing the view's iterator multiple tim...
Definition: cache1.hpp:184
defer< let, As... > let
Definition: meta.hpp:3112
Definition: insert_iterators.hpp:113
constexpr bool starts_with(R1 &&r1, R2 &&r2, Comp comp={}, Proj1 proj1={}, Proj2 proj2={})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: starts_with.hpp:60
constexpr basic_iterator< Cur > operator-(basic_iterator< Cur > left, typename basic_iterator< Cur >::difference_type n)
Definition: basic_iterator.hpp:811
Definition: take_last.hpp:42
constexpr auto end()
Definition: take.hpp:155
meta::if_c< range_cardinality< Rng >::value==0, all_t< Rng >, tail_view< all_t< Rng > > > operator()(Rng &&rng) const
Definition: tail.hpp:129
constexpr auto size()
Definition: cache1.hpp:157
set_difference_view< all_t< Rng1 >, all_t< Rng2 >, C, P1, P2 > operator()(Rng1 &&rng1, Rng2 &&rng2, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{}) const
Definition: set_algorithm.hpp:221
values_view< all_t< Rng > > operator()(Rng &&rng) const
Definition: map.hpp:110
Lazily applies an unary function to each element in the source range that returns another range (poss...
Definition: for_each.hpp:38
constexpr move_into_fn move_into
Definition: move_iterators.hpp:444
_t< detail::_if_< bool_< If >, Args... > > if_c
Select one type or another depending on a compile-time Boolean.
Definition: meta.hpp:988
ranges::join_view< Rng > join_view
Definition: join.hpp:619
constexpr _iter_swap_::fn iter_swap
Definition: access.hpp:239
Definition: shuffle.hpp:32
constexpr bool is_trait_v
true if T::type exists and names a type; false otherwise.
Definition: meta.hpp:564
constexpr front_inserter_fn front_inserter
Definition: insert_iterators.hpp:122
static constexpr T value
Definition: static_const.hpp:23
Definition: operations.hpp:107
Definition: common.hpp:160
Definition: range_fwd.hpp:658
Definition: generator.hpp:44
constexpr filter_view< all_t< Rng >, Pred > operator()(Rng &&rng, Pred pred) const
Definition: filter.hpp:56
T & operator()(ref_view< T > t) const noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: reference_wrapper.hpp:164
_t< detail::count_if_< L, Fn > > count_if
Count the number of times the predicate Fn evaluates to true for all the elements in the list L.
Definition: meta.hpp:2249
bool_<!B > not_c
Logically negate the Boolean parameter.
Definition: meta.hpp:1051
constexpr not_fn_fn not_fn
Definition: not_fn.hpp:88
Definition: in_place.hpp:26
Definition: unstable_remove_if.hpp:33
Definition: range_fwd.hpp:578
Definition: adjacent_remove_if.hpp:149
constexpr make_ostream_joiner_fn make_ostream_joiner
Definition: stream_iterators.hpp:138
partial_sum_view(Rng &&, Fun) -> partial_sum_view< views::all_t< Rng >, Fun >
Definition: range_fwd.hpp:367
drop< L, min< find_index< L, T >, size< L > >> find
Return the tail of the list L starting at the first occurrence of T, if any such element exists; the ...
Definition: meta.hpp:1981
Definition: arithmetic.hpp:34
insert_t< Cont, Rng > push_back(Cont &&cont, Rng &&rng)
Definition: push_back.hpp:54
Definition: reverse.hpp:152
exclusive_scan_view(Rng &&, T, Fun) -> exclusive_scan_view< views::all_t< Rng >, T, Fun >
constexpr auto operator()(T from, T to, std::ptrdiff_t n) const
Definition: linear_distribute.hpp:104
Definition: operations.hpp:146
constexpr T value_or(U &&u) const &
Definition: optional.hpp:635
defer< reverse_find_index, L, T > reverse_find_index
Definition: meta.hpp:1970
mismatch_result< I1, I2 > mismatch(I1 begin1, S1 end1, I2 begin2, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{})
function template mismatch
Definition: mismatch.hpp:39
constexpr auto operator()(Pred &&pred, Proj proj) const
Definition: drop_while.hpp:124
typename detail::_cond< If >::template invoke< Then, Else > conditional_t
Select one type or another depending on a compile-time Boolean.
Definition: meta.hpp:949
borrowed_iterator_t< Rng > partition(Rng &&rng, C pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: partition.hpp:112
std::pair< range_difference_t< Rng >, iterator_t< Rng > > operator()(Rng &&rng) const
Definition: operations.hpp:418
Definition: concepts.hpp:209
Definition: getlines.hpp:29
Definition: addressof.hpp:30
Definition: comparisons.hpp:50
meta::size_t< L::size()> size
An integral constant wrapper that is the size of the meta::list L.
Definition: meta.hpp:1320
Definition: drop_while.hpp:31
std::integral_constant< bool, B > bool_
An integral constant wrapper for bool.
Definition: meta.hpp:166
constexpr basic_iterator< Cur > operator+(typename basic_iterator< Cur >::difference_type n, basic_iterator< Cur > right)
Definition: basic_iterator.hpp:802
Definition: cartesian_product.hpp:123
Definition: drop_last.hpp:343
Definition: move_iterators.hpp:220
bool is_heap(Rng &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: heap_algorithm.hpp:145
constexpr auto operator()(Fun fun) const
Definition: take_while.hpp:35
constexpr range_reference_t< D< True > > back()
Access the last element in a range:
Definition: interface.hpp:268
Definition: take_exactly.hpp:148
constexpr auto operator()(Rng &&rng, Value value) const
Definition: remove.hpp:53
Definition: range_fwd.hpp:159
Definition: concepts.hpp:229
Definition: remove_if.hpp:34
borrowed_iterator_t< Rng > upper_bound(Rng &&rng, V const &val, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: upper_bound.hpp:57
borrowed_iterator_t< Rng > find_if(Rng &&rng, F pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: find_if.hpp:57
subrange< counted_iterator< I >, default_sentinel_t > operator()(I it, iter_difference_t< I > n) const
Definition: counted.hpp:75
Definition: memory.hpp:164
Definition: pipeable.hpp:72
subrange(R &&, detail::iter_size_t< iterator_t< R >>) -> subrange< iterator_t< R >, sentinel_t< R >, subrange_kind::sized >
Definition: adaptor.hpp:102
meta::_t< detail::inherit_< L > > inherit
A type that inherits from all the types in the list.
Definition: meta.hpp:2560
rotate_copy_result< borrowed_iterator_t< Rng >, O > rotate_copy(Rng &&rng, iterator_t< Rng > middle, O out)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: rotate_copy.hpp:48
Definition: memory.hpp:99
constexpr auto operator()(D from, detail::from_end_< D > to) const
Definition: slice.hpp:49
Definition: common_tuple.hpp:662
constexpr partial_sum_view< all_t< Rng >, Fun > operator()(Rng &&rng, Fun fun={}) const
Definition: partial_sum.hpp:175
Definition: range_fwd.hpp:778
set_union_view< all_t< Rng1 >, all_t< Rng2 >, C, P1, P2 > operator()(Rng1 &&rng1, Rng2 &&rng2, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{}) const
Definition: set_algorithm.hpp:587
istream_view< Val > istream(std::istream &sin)
Definition: istream.hpp:100
constexpr auto operator()(Int n) const
Definition: chunk.hpp:450
bool_<(T::type::value<=U::type::value)> less_equal
A Boolean integral constant wrapper around true if T::type::value is less than or equal to U::type::v...
Definition: meta.hpp:265
constexpr index_fn index
Unchecked indexed range access.
Definition: operations.hpp:85
constexpr range_reference_t< D< True > > operator[](range_difference_t< D< True >> n)
Simple indexing:
Definition: interface.hpp:285
move_backward_result< I, O > move_backward(I first, S end_, O out)
function template move_backward
Definition: move_backward.hpp:40
Definition: shared.hpp:104
defer< min, Ts... > min
Definition: meta.hpp:1808
constexpr bool is_callable_v
true if T::invoke exists and names a class template; false otherwise.
Definition: meta.hpp:569
constexpr basic_iterator< Cur > operator+(basic_iterator< Cur > left, typename basic_iterator< Cur >::difference_type n)
Definition: basic_iterator.hpp:793
Definition: reference_wrapper.hpp:113
Definition: move_iterators.hpp:29
join_with_view< all_t< Rng >, single_view< inner_value_t< Rng > > > operator()(Rng &&rng, inner_value_t< Rng > v) const
Definition: join.hpp:536
Definition: stream_iterators.hpp:126
Given a source range, unary predicate, and optional projection, present a view of the elements that s...
Definition: filter.hpp:79
delimit_view(Rng &&, Val) -> delimit_view< views::all_t< Rng >, Val >
Definition: tuple_algorithm.hpp:35
Users should specialize this to hook the common_with concept until std gets a SFINAE-friendly std::co...
Definition: type_traits.hpp:184
remove_copy_result< borrowed_iterator_t< Rng >, O > remove_copy(Rng &&rng, O out, T const &val, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: remove_copy.hpp:62
O operator()(O first, S last, T val) const
Definition: iota.hpp:31
bool prev_permutation(Rng &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: permutation.hpp:327
borrowed_iterator_t< Rng > make_heap(Rng &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: heap_algorithm.hpp:374
_t< extension::apply< Fn, L > > apply
Applies the invocable Fn using the types in the type list L as arguments.
Definition: meta.hpp:831
Definition: generate.hpp:31
bool_< T::type::value==U::type::value > equal_to
A Boolean integral constant wrapper around the result of comparing T::type::value and U::type::value ...
Definition: meta.hpp:235
Definition: insert_iterators.hpp:164
Definition: drop_exactly.hpp:41
list< F, S > pair
A list with exactly two elements.
Definition: meta.hpp:1839
Definition: optional.hpp:27
std::integral_constant< std::size_t, N > size_t
An integral constant wrapper for std::size_t.
Definition: meta.hpp:161
constexpr compose_fn compose
Definition: compose.hpp:93
A utility for constructing a view from a (derived) type that implements begin and end cursors.
Definition: range_fwd.hpp:426
Definition: concepts.hpp:572
constexpr bool operator<=(basic_iterator< Left > const &left, basic_iterator< Right > const &right)
Definition: basic_iterator.hpp:853
auto operator()(Rng &&rng, range_difference_t< Rng > n) const
Definition: drop_exactly.hpp:154
Definition: action.hpp:66
Definition: take_last.hpp:30
Definition: exclusive_scan.hpp:43
constexpr bool equal(I0 begin0, S0 end0, I1 begin1, C pred=C{}, P0 proj0=P0{}, P1 proj1=P1{})
function template equal
Definition: equal.hpp:54
remove_copy_if_result< borrowed_iterator_t< Rng >, O > remove_copy_if(Rng &&rng, O out, C pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: remove_copy_if.hpp:61
constexpr auto operator()(detail::from_end_< D > from, detail::from_end_< D > to) const
Definition: slice.hpp:56
ostream_joiner< detail::decay_t< Delim >, Char, Traits > operator()(std::basic_ostream< Char, Traits > &s, Delim &&d) const
Definition: stream_iterators.hpp:131
generate_n_view< G > operator()(G g, std::size_t n) const
Definition: generate_n.hpp:101
compose< quote< not_ >, Fn > not_fn
Logically negate the result of invocable Fn.
Definition: meta.hpp:2455
Definition: stable_sort.hpp:33
Definition: drop_exactly.hpp:133
move_view< all_t< Rng > > operator()(Rng &&rng) const
Definition: move.hpp:118
defer< equal_to, T, U > equal_to
Definition: meta.hpp:339
cursor_adaptor(cursor_adaptor< Other > that)
Definition: intersperse.hpp:80
defer< or_, Bs... > or_
Definition: meta.hpp:1132
bool operator!=(common_iterator< I1, S1 > const &x, common_iterator< I2, S2 > const &y)
Definition: common_iterator.hpp:246
Definition: range_fwd.hpp:586
Definition: comparisons.hpp:86
Definition: adjacent_remove_if.hpp:32
iota_view< Val, Val > operator()(Val to) const
Definition: indices.hpp:36
constexpr auto operator()(T &&t) const
Definition: join.hpp:565
Definition: range_fwd.hpp:166
fold< pop_front< list< Ts... > >, front< list< Ts... > >, quote< detail::min_ > > min_
An integral constant wrapper around the minimum of Ts::type::value...
Definition: meta.hpp:1790
Definition: unreachable_sentinel.hpp:25
Definition: dangling.hpp:30
Definition: operations.hpp:34
closed_iota_view(From, To) -> closed_iota_view< From, To >
I remove_if(I first, S last, C pred, P proj=P{})
function template remove_if
Definition: remove_if.hpp:41
bool all_of(Rng &&rng, F pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: all_of.hpp:48
_t< detail::back_< L > > back
Return the last element in meta::list L.
Definition: meta.hpp:1696
Definition: range_fwd.hpp:545
I find_if_not(I first, S last, F pred, P proj=P{})
template function find_if_not
Definition: find_if_not.hpp:44
constexpr bool operator>(basic_iterator< Left > const &left, basic_iterator< Right > const &right)
Definition: basic_iterator.hpp:861
Definition: default_sentinel.hpp:24
Definition: comparisons.hpp:74
bool binary_search(Rng &&rng, V const &val, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: binary_search.hpp:52
constexpr make_common_pair_fn make_common_pair
Definition: common_tuple.hpp:499
auto operator()(Rng &&rng, Pred pred) const -> drop_while_view< all_t< Rng >, Pred >
Definition: drop_while.hpp:96
borrowed_subrange_t< Rng1 > find_end(Rng1 &&rng1, Rng2 &&rng2, R pred=R{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: find_end.hpp:202
Definition: arithmetic.hpp:77
borrowed_iterator_t< Rng > min_element(Rng &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: min_element.hpp:51
compose< Fn, Q > curry
An invocable that takes a bunch of arguments, bundles them into a type list, and then calls the invoc...
Definition: meta.hpp:844
common_tuple & operator=(std::tuple< Us... > &that) noexcept(meta::and_c< std::is_nothrow_assignable< Ts &, Us & >::value... >::value)
Definition: common_tuple.hpp:165
borrowed_iterator_t< Rng > partition_point(Rng &&rng, C pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: partition_point.hpp:84
bool is_permutation(Rng1 &&rng1, Rng2 &&rng2, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: permutation.hpp:215
for_each_result< borrowed_iterator_t< Rng >, F > for_each(Rng &&rng, F fun, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: for_each.hpp:52
Definition: slice.hpp:188
std::integral_constant< decltype(T::type::value % U::type::value), T::type::value % U::type::value > modulus
An integral constant wrapper around the remainder of dividing the two wrapped integers T::type::value...
Definition: meta.hpp:229
bool_<(T::type::value >=U::type::value)> greater_equal
A Boolean integral constant wrapper around true if T::type::value is greater than or equal to U::type...
Definition: meta.hpp:259
constexpr bool is_v
is_v Test whether a type T is an instantiation of class template C.
Definition: meta_fwd.hpp:60
Definition: range_fwd.hpp:697
constexpr replace_if_view< all_t< Rng >, Pred, Val > operator()(Rng &&rng, Pred pred, Val new_value) const
Definition: replace_if.hpp:115
Definition: zip_with.hpp:415
reference_wrapper< T > operator()(std::reference_wrapper< T > t) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: reference_wrapper.hpp:129
Definition: chunk.hpp:432
constexpr _size_::fn size
Definition: primitives.hpp:151
constexpr bool operator==(basic_iterator< Cur > const &left, basic_iterator< Cur2 > const &right)
Definition: basic_iterator.hpp:743
Definition: take_while.hpp:31
Unchecked indexed range access.
Definition: operations.hpp:66
O set_intersection(Rng1 &&rng1, Rng2 &&rng2, O out, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: set_algorithm.hpp:177
Definition: semiregular_box.hpp:60
static iter_difference_t< I > distance_to(I const &it0, I const &it1)
Definition: adaptor.hpp:163
static constexpr std::size_t size() noexcept
If the size of the range is known at compile-time and finite, return it.
Definition: interface.hpp:219
constexpr auto operator()(V &&value, P proj) const
Definition: remove.hpp:35
Definition: range_fwd.hpp:775
constexpr T::type::value_type _v
Variable alias for T::type::value.
Definition: meta.hpp:146
constexpr enumerate_fn enumerate
Definition: operations.hpp:428
Definition: static_const.hpp:22
Definition: insert_iterators.hpp:28
Definition: compare.hpp:29
Definition: intersperse.hpp:225
Definition: range_fwd.hpp:594
Definition: counted.hpp:70
Definition: concepts.hpp:240
constexpr auto operator()(Rng &&rng, Fun fun) const
Definition: for_each.hpp:43
constexpr auto operator()(D from, D to) const
Definition: slice.hpp:42
Definition: split_when.hpp:38
Definition: range_fwd.hpp:369
Definition: concepts.hpp:213
constexpr decltype(auto) friend operator|(T &&t, move_fn move) noexcept
Definition: move.hpp:41
_t< detail::reverse_find_if_< L, Fn > > reverse_find_if
Return the tail of the list L starting at the last element A such that invoke<Fn, A>::value is true,...
Definition: meta.hpp:2112
Definition: take_exactly.hpp:178
Definition: indirect.hpp:80
bool_< is_v< T, C > > is
is Test whether a type T is an instantiation of class template C.
Definition: meta.hpp:694
Definition: stride.hpp:308
front< pop_front< Pair > > second
Retrieve the first element of the pair Pair.
Definition: meta.hpp:1849
Definition: for_each.hpp:79
Definition: pipeable.hpp:63
front< Pair > first
Retrieve the first element of the pair Pair.
Definition: meta.hpp:1844
Definition: remove.hpp:32
borrowed_subrange_t< Rng1 > search(Rng1 &&rng1, Rng2 &&rng2, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: search.hpp:182
Definition: common_tuple.hpp:704
constexpr unwrap_reference_fn unwrap_reference
Definition: reference_wrapper.hpp:172
compose< quote< _t >, quote< C > > quote_trait
Turn a trait template C into an invocable.
Definition: meta.hpp:756
Definition: single.hpp:103
std::integral_constant< decltype(~T::type::value), ~T::type::value > bit_not
An integral constant wrapper around the result of bitwise-complementing the wrapped integer T::type::...
Definition: meta.hpp:292
Definition: drop_while.hpp:37
Definition: concepts.hpp:264
Definition: concepts.hpp:252
subrange< I > rotate(I first, I middle, S last)
function template rotate
Definition: rotate.hpp:195
constexpr sliding_view< all_t< Rng > > operator()(Rng &&rng, range_difference_t< Rng > n) const
Definition: sliding.hpp:380
I min_element(I first, S last, C pred=C{}, P proj=P{})
function template min_element
Definition: min_element.hpp:36
Definition: overload.hpp:56
Definition: range_fwd.hpp:456
borrowed_iterator_t< Rng > is_heap_until(Rng &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: heap_algorithm.hpp:112
Definition: range_fwd.hpp:447
constexpr bool operator!=(basic_iterator< Cur > const &left, basic_iterator< Cur2 > const &right)
Definition: basic_iterator.hpp:751
single_view< Val > operator()(Val value) const
Definition: single.hpp:107
Definition: range_fwd.hpp:666
partition_copy_result< I, O0, O1 > partition_copy(I first, S last, O0 o0, O1 o1, C pred, P proj=P{})
function template partition_copy
Definition: partition_copy.hpp:38
constexpr auto operator()(Rng &&rng, range_difference_t< Rng > n) const
Definition: take_exactly.hpp:170
iter_difference_t< iterator_t< Rng > > count(Rng &&rng, V const &val, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: count.hpp:51
constexpr intersperse_view< all_t< Rng > > operator()(Rng &&rng, range_value_t< Rng > val) const
Definition: intersperse.hpp:232
Definition: range_fwd.hpp:553
repeat_n_view< Val > operator()(Val value, std::ptrdiff_t n) const
Definition: repeat_n.hpp:110
constexpr auto operator()(Int n) const
Definition: take.hpp:35
constexpr _empty_::fn empty
Definition: primitives.hpp:316
Definition: getlines.hpp:95
constexpr filter_view< all_t< Rng >, composed< Pred, Proj > > operator()(Rng &&rng, Pred pred, Proj proj) const
Definition: filter.hpp:87
Definition: split.hpp:466
Definition: range_fwd.hpp:634
Definition: filter.hpp:28
adjacent_remove_if_view(Rng &&, Fun) -> adjacent_remove_if_view< views::all_t< Rng >, Fun >
_t< detail::coerce_indices_< T, From, make_index_sequence< detail::range_distance_(From, To)> >> integer_range
Makes the integer sequence [From, To).
Definition: meta.hpp:460
constexpr make_compressed_tuple_fn make_compressed_tuple
Definition: compressed_pair.hpp:112
bool includes(Rng1 &&rng1, Rng2 &&rng2, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: set_algorithm.hpp:57
constexpr friend auto operator|(Arg &&arg, Pipe pipe)
Definition: pipeable.hpp:81
repeat_view< Val > operator()(Val value) const
Definition: repeat.hpp:102
Definition: push_front.hpp:74
filter_view(Rng &&, Pred) -> filter_view< views::all_t< Rng >, Pred >
Definition: bind_back.hpp:32
meta::size_t< std::size_t(-1)> npos
A special value used to indicate no matches. It equals the maximum value representable by std::size_t...
Definition: meta.hpp:1300
Definition: replace_if.hpp:112
Definition: remove_if.hpp:171
constexpr back_fn back
Definition: operations.hpp:103
category
An enum that denotes the supported subset of range concepts supported by a range.
Definition: any_view.hpp:36
constexpr _crbegin_::fn crbegin
Definition: access.hpp:669
constexpr exclusive_scan_view< all_t< Rng >, T, Fun > operator()(Rng &&rng, T init, Fun fun=Fun{}) const
Definition: exclusive_scan.hpp:168
constexpr overload_fn overload
Definition: overload.hpp:171
Definition: replace_if.hpp:123
constexpr get_cursor_fn get_cursor
Definition: basic_iterator.hpp:896
constexpr tuple_apply_fn tuple_apply
Definition: tuple_algorithm.hpp:58
Definition: range_fwd.hpp:430
constexpr make_compressed_pair_fn make_compressed_pair
Definition: compressed_pair.hpp:185
minmax_element_result< borrowed_iterator_t< Rng > > minmax_element(Rng &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: minmax_element.hpp:88
Definition: set_algorithm.hpp:602
Definition: adaptor.hpp:96
Definition: generator.hpp:47
defer< if_, Args... > if_
Definition: meta.hpp:994
constexpr _end_::fn end
Definition: access.hpp:326
Definition: range_fwd.hpp:365
Definition: comparisons.hpp:38
constexpr friend auto operator|(T &&t, copy_fn) -> detail::decay_t< T >
Definition: copy.hpp:42
constexpr replace_view< all_t< Rng >, detail::decay_t< Val1 >, detail::decay_t< Val2 > > operator()(Rng &&rng, Val1 &&old_value, Val2 &&new_value) const
Definition: replace.hpp:88
constexpr _begin_::fn begin
Definition: access.hpp:181
borrowed_iterator_t< Rng > unstable_remove_if(Rng &&rng, C pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: unstable_remove_if.hpp:72
Definition: range_fwd.hpp:465
Definition: range_fwd.hpp:363
constexpr iter_take_while_view< all_t< Rng >, Pred > operator()(Rng &&rng, Pred pred) const
Definition: take_while.hpp:112
borrowed_iterator_t< Rng > is_sorted_until(Rng &&rng, R pred=R{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: is_sorted_until.hpp:67
Definition: move_iterators.hpp:234
constexpr auto operator()(T &t) const
Definition: split.hpp:43
Definition: shared.hpp:32
constexpr make_view_closure_fn make_view_closure
Definition: view.hpp:88
Definition: repeat_n.hpp:38
constexpr auto operator()(C pred, P proj=P{}) const
Definition: unstable_remove_if.hpp:37
constexpr auto empty() const noexcept -> bool
Test whether a range can be empty:
Definition: interface.hpp:146
reference_wrapper< T >::reference operator()(reference_wrapper< T > t) const noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: reference_wrapper.hpp:151
Definition: replace.hpp:82
Definition: arithmetic.hpp:24
constexpr make_action_closure_fn make_action_closure
Definition: action.hpp:43
constexpr auto operator()(Size n, URNG &urng=detail::get_random_engine()) const
Definition: sample.hpp:244
transform_view(Rng &&, Fun) -> transform_view< views::all_t< Rng >, Fun >
Definition: for_each.hpp:50
constexpr action_closure< unique_fn > unique
Definition: unique.hpp:58
group_by_view(Rng &&, Fun) -> group_by_view< views::all_t< Rng >, Fun >
constexpr _cdata_::fn cdata
Definition: primitives.hpp:243
swap_ranges_result< I1, I2 > swap_ranges(I1 begin1, S1 end1, I2 begin2)
function template swap_ranges
Definition: swap_ranges.hpp:38
_t< detail::find_if_< L, Fn > > find_if
Return the tail of the list L starting at the first element A such that invoke<Fn,...
Definition: meta.hpp:2069
constexpr bind_back_fn bind_back
Definition: bind_back.hpp:181
defer< size, L > size
Definition: meta.hpp:1327
std::integral_constant< char, Ch > char_
An integral constant wrapper for char.
Definition: meta.hpp:176
Definition: basic_iterator.hpp:514
bind_front< quote< apply >, Fn > uncurry
An invocable that takes a type list, unpacks the types, and then calls the invocable Fn with the type...
Definition: meta.hpp:850
constexpr _rend_::fn rend
Definition: access.hpp:648
Definition: sample.hpp:77
ranges::take_view< Rng > take_view
Definition: take.hpp:264
constexpr auto operator()(Gen &gen) const
Definition: shuffle.hpp:36
constexpr action_closure< join_fn > join
Definition: join.hpp:57
borrowed_iterator_t< Rng > max_element(Rng &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: max_element.hpp:51
constexpr on_fn on
Definition: on.hpp:65
Definition: accumulate.hpp:28
constexpr take_while_view< all_t< Rng >, Pred > operator()(Rng &&rng, Pred pred) const
Definition: take_while.hpp:137
constexpr _rbegin_::fn rbegin
Definition: access.hpp:510
constexpr bool equal(Rng0 &&rng0, Rng1 &&rng1, C pred=C{}, P0 proj0=P0{}, P1 proj1=P1{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: equal.hpp:131
Definition: set_algorithm.hpp:218
copy_n_result< I, O > copy_n(I first, iter_difference_t< I > n, O out)
function template copy_n
Definition: copy_n.hpp:42
defer< max, Ts... > max
Definition: meta.hpp:1813
ostream_iterator & operator=(U &&value)
Definition: stream_iterators.hpp:49
borrowed_subrange_t< Rng > rotate(Rng &&rng, I middle)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: rotate.hpp:213
Definition: common_tuple.hpp:69
Definition: delimit.hpp:83
Definition: insert_iterators.hpp:77
Definition: action.hpp:34
Definition: memory.hpp:223
sample_result< borrowed_iterator_t< IRng >, borrowed_iterator_t< ORng > > sample(IRng &&rng, ORng &&out, Gen &&gen=detail::get_random_engine())
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: sample.hpp:185
_t< id< T > > id_t
An alias for type T. Useful in non-deduced contexts.
Definition: meta.hpp:536
Definition: const.hpp:121
reference_wrapper< T > operator()(T &t) const
Definition: reference_wrapper.hpp:117
not_< empty< find< L, T > >> in
A Boolean integral constant wrapper around true if there is at least one occurrence of T in L.
Definition: meta.hpp:2527
constexpr bool operator!=(S const &left, basic_iterator< Cur > const &right)
Definition: basic_iterator.hpp:783
any_view(Rng &&rng)
Definition: any_view.hpp:555
borrowed_iterator_t< Rng > shuffle(Rng &&rng, Gen &&rand=detail::get_random_engine())
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: shuffle.hpp:67
defer< reverse_find, L, T > reverse_find
Definition: meta.hpp:2033
Definition: range_fwd.hpp:626
_t< detail::at_< L, N > > at_c
Return the N th element in the meta::list L.
Definition: meta.hpp:1555
Half-open range of indices: [from, to).
Definition: indices.hpp:30
constexpr distance_fn distance
Definition: operations.hpp:459
I upper_bound(I first, S last, V const &val, C pred=C{}, P proj=P{})
function template upper_bound
Definition: upper_bound.hpp:43
defer< invoke, Fn, Args... > invoke
Definition: meta.hpp:516
Definition: take_while.hpp:154
Definition: filter.hpp:96
common_iterator & operator=(common_iterator< I2, S2 > const &that)
Definition: common_iterator.hpp:133
constexpr adjacent_remove_if_view< all_t< Rng >, Pred > operator()(Rng &&rng, Pred pred) const
Definition: adjacent_remove_if.hpp:155
borrowed_iterator_t< Rng > for_each_n(Rng &&rng, range_difference_t< Rng > n, F fun, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: for_each_n.hpp:52
Definition: inner_product.hpp:40
bool_<(T::type::value< U::type::value)> less
A Boolean integral constant wrapper around true if T::type::value is less than U::type::value; false,...
Definition: meta.hpp:253
Definition: split_when.hpp:35
borrowed_iterator_t< Rng > replace_if(Rng &&rng, C pred, T const &new_value, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: replace_if.hpp:51
not_< empty< find_if< L, Fn > >> any_of
A Boolean integral constant wrapper around true if invoke<Fn, A>::value is true for any element A in ...
Definition: meta.hpp:2491
defer< inherit, L > inherit
Definition: meta.hpp:2567
Definition: invoke.hpp:148
meta::size_t< alignof(T)> alignof_
An alias that computes the alignment required for any instance of the type T.
Definition: meta.hpp:673
Definition: operations.hpp:184
Definition: range_fwd.hpp:650
constexpr bool operator>=(basic_iterator< Left > const &left, basic_iterator< Right > const &right)
Definition: basic_iterator.hpp:869
Definition: range_fwd.hpp:473
Definition: cache1.hpp:174
not_c< B::type::value > not_
Logically negate the integral constant-wrapped Boolean parameter.
Definition: meta.hpp:1056
defer< less, T, U > less
Definition: meta.hpp:354
keys_range_view< all_t< Rng > > operator()(Rng &&rng) const
Definition: map.hpp:98
swap_ranges_result< borrowed_iterator_t< Rng1 >, borrowed_iterator_t< Rng2 > > swap_ranges(Rng1 &&rng1, Rng2 &&rng2)
Definition: swap_ranges.hpp:76
Definition: access.hpp:143
auto operator()(Rng &&rng, range_difference_t< Rng > n) const
Definition: take_last.hpp:34
borrowed_iterator_t< Rng > push_heap(Rng &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: heap_algorithm.hpp:275
iterator_wrapper< I > iter_ref(I &i)
Definition: memory.hpp:211
Definition: range_fwd.hpp:141
defer< all_of, L, Fn > all_of
Definition: meta.hpp:2480
Definition: subrange.hpp:387
Definition: set_algorithm.hpp:388
constexpr adjacent_filter_view< all_t< Rng >, logical_negate< C > > operator()(Rng &&rng, C pred={}) const
Definition: unique.hpp:39
constexpr auto operator()(Difference step) const
Definition: stride.hpp:326
constexpr auto operator()(Rng &&rng) const CPP_AUTO_FUN_RETURNS_CONST_0(return transform(all(static_cast< Rng && >(rng))
Definition: compressed_pair.hpp:171
_t< detail::coerce_indices_< T, 0, make_index_sequence< static_cast< std::size_t >(N)> >> make_integer_sequence
Generate integer_sequence containing integer constants [0,1,2,...,N-1].
Definition: meta.hpp:448
split_when_view(Rng &&, Fun) -> split_when_view< views::all_t< Rng >, Fun >
Definition: invoke.hpp:87
constexpr explicit(!convertible_to< U, T >) optional(U &&v)
Definition: optional.hpp:504
repeat_n_c< N::type::value, T > repeat_n
Generate list<T,T,T...T> of size N arguments.
Definition: meta.hpp:1504
constexpr iter_distance_fn iter_distance
Definition: operations.hpp:292
take_view< all_t< Rng > > operator()(Rng &&rng, range_difference_t< Rng > n) const
Definition: take.hpp:232
constexpr bool or_v
Logically OR together all the Boolean parameters.
Definition: meta.hpp:1094
join_with_view(Rng &&, ValRng &&) -> join_with_view< views::all_t< Rng >, views::all_t< ValRng >>
Returns a random sample of a range of length size(range).
Definition: sample.hpp:206
I make_heap(I first, S last, C pred=C{}, P proj=P{})
function template make_heap
Definition: heap_algorithm.hpp:358
constexpr auto size() const
Definition: chunk.hpp:214
constexpr move_fn move
Definition: move.hpp:49
Definition: range_fwd.hpp:537
Definition: sliding.hpp:54
constexpr action_closure< stable_sort_fn > stable_sort
Definition: stable_sort.hpp:55
Definition: zip_with.hpp:389
std::integral_constant< decltype(T::type::value - U::type::value), T::type::value - U::type::value > minus
An integral constant wrapper around the result of subtracting the two wrapped integers T::type::value...
Definition: meta.hpp:202
Definition: range_fwd.hpp:738
iterator_t< Const > end() const
Definition: tokenize.hpp:78
empty< find_if< L, Fn > > none_of
A Boolean integral constant wrapper around true if invoke<Fn, A>::value is false for all elements A i...
Definition: meta.hpp:2509
Definition: concepts.hpp:241
or_c< Bs::type::value... > strict_or_
Logically OR together all the integral constant-wrapped Boolean parameters, without short-circuiting.
Definition: meta.hpp:1105
constexpr auto operator()(R &&r) const -> subrange< iterator_t< R >, sentinel_t< R >,(sized_range< R >||sized_sentinel_for< sentinel_t< R >, iterator_t< R >>) ? subrange_kind::sized :subrange_kind::unsized >
Definition: subrange.hpp:404
_t< detail::make_indices_< N, index_sequence< 0 >, detail::strategy_(1, N)> > make_index_sequence
Generate index_sequence containing integer constants [0,1,2,...,N-1].
Definition: meta.hpp:440
Definition: tokenize.hpp:99
constexpr front_fn front
Definition: operations.hpp:120
constexpr _cbegin_::fn cbegin
Definition: access.hpp:347
common_pair const & operator=(std::pair< F2, S2 > &&that) const noexcept(std::is_nothrow_assignable< F const &, F2 && >::value &&std::is_nothrow_assignable< S const &, S2 && >::value)
Definition: common_tuple.hpp:425
Definition: access.hpp:268
iota_view(From, To) -> iota_view< From, To >
defer< compose, Fns... > compose
Definition: meta.hpp:724
constexpr auto operator()(Int n) const
Definition: drop.hpp:35
constexpr range_reference_t< D< True > > at(range_difference_t< D< True >> n)
Returns a reference to the element at specified location pos, with bounds checking.
Definition: interface.hpp:320
borrowed_iterator_t< Rng > inplace_merge(Rng &&rng, iterator_t< Rng > middle, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: inplace_merge.hpp:275
Definition: range_fwd.hpp:481
borrowed_iterator_t< Rng > partial_sort(Rng &&rng, iterator_t< Rng > middle, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: partial_sort.hpp:54
Definition: traits.hpp:123
constexpr T max(std::initializer_list< T > const &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: max.hpp:68
constexpr auto size()
Definition: const.hpp:93
T operator()(I first, S last, T init, Op op=Op{}, P proj=P{}) const
Definition: accumulate.hpp:35
constexpr dangling(T &&)
Implicit converting constructor; ignores argument.
Definition: dangling.hpp:36
Definition: concat.hpp:408
requires(sizeof...(Ts) > 0) using lambda
For creating anonymous Invocables.
Definition: for_each.hpp:65
common_view(Rng &&) -> common_view< views::all_t< Rng >>
constexpr borrowed_iterator_t< Rng > find(Rng &&rng, V const &val, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: find.hpp:56
borrowed_iterator_t< Rng > sort(Rng &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: sort.hpp:202
set_union_result< borrowed_iterator_t< Rng1 >, borrowed_iterator_t< Rng2 >, O > set_union(Rng1 &&rng1, Rng2 &&rng2, O out, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: set_algorithm.hpp:119
Definition: arithmetic.hpp:44
Definition: take_while.hpp:131
constexpr advance_fn advance
Definition: operations.hpp:144
constexpr trim_view< all_t< Rng >, Pred > operator()(Rng &&rng, Pred pred) const
Definition: trim.hpp:106
borrowed_iterator_t< Rng > pop_heap(Rng &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: heap_algorithm.hpp:336
constexpr auto operator()(Rng &&rng, range_difference_t< Rng > n) const -> drop_last_view< all_t< Rng >>
Definition: drop_last.hpp:347
Definition: common_tuple.hpp:282
Definition: range_fwd.hpp:602
bool next_permutation(Rng &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: permutation.hpp:282
T operator()(I1 begin1, S1 end1, I2 begin2, S2 end2, T init, BOp1 bop1=BOp1{}, BOp2 bop2=BOp2{}, P1 proj1=P1{}, P2 proj2=P2{}) const
Definition: inner_product.hpp:47
std::integral_constant< decltype(T::type::value|U::type::value), T::type::value|U::type::value > bit_or
An integral constant wrapper around the result of bitwise-or'ing the two wrapped integers T::type::va...
Definition: meta.hpp:279
constexpr bool operator()(Args &&... args) &
Definition: not_fn.hpp:52
Definition: range_fwd.hpp:781
Definition: range_fwd.hpp:746
constexpr distance_compare_fn distance_compare
Definition: operations.hpp:498
constexpr protect_fn protect
Protect a callable so that it can be safely used in a bind expression without accidentally becoming a...
Definition: bind.hpp:117
insert_t< Cont, Rng > push_front(Cont &&cont, Rng &&rng)
Definition: push_front.hpp:54
bool_<(true &&... &&Bs)> and_c
Logically AND together all the Boolean parameters.
Definition: meta.hpp:1068
fold< pop_front< list< Ts... > >, front< list< Ts... > >, quote< detail::max_ > > max_
An integral constant wrapper around the maximum of Ts::type::value...
Definition: meta.hpp:1798
constexpr decltype(auto) operator()(Args &&... args) &noexcept(is_nothrow_invocable_v< T &, Args... >)
Definition: semiregular_box.hpp:205
Definition: remove_if.hpp:38
constexpr T min(std::initializer_list< T > const &&rng, C pred=C{}, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: min.hpp:68
adjacent_filter_view(Rng &&, Fun) -> adjacent_filter_view< views::all_t< Rng >, Fun >
const_view< all_t< Rng > > operator()(Rng &&rng) const
Definition: const.hpp:125
constexpr ref_fn ref
Definition: reference_wrapper.hpp:137
generate_n_result< O, F > generate_n(O first, iter_difference_t< O > n, F fun)
function template generate_n
Definition: generate_n.hpp:40
Definition: intersperse.hpp:39
Definition: generate_n.hpp:92
Definition: drop_last.hpp:117
defer< bind_back, Fn, Ts... > bind_back
Definition: meta.hpp:795
move_backward_result< borrowed_iterator_t< Rng >, O > move_backward(Rng &&rng, O out)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: move_backward.hpp:54
Definition: range_fwd.hpp:575
constexpr iter_enumerate_fn iter_enumerate
Definition: operations.hpp:260
bool none_of(Rng &&rng, F pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: none_of.hpp:49
constexpr _cend_::fn cend
Definition: access.hpp:368
borrowed_iterator_t< Rng > find_if_not(Rng &&rng, F pred, P proj=P{})
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: find_if_not.hpp:58
Definition: action.hpp:121
INTERNAL ONLY.
Definition: compare.hpp:27
Definition: optional.hpp:30
Definition: identity.hpp:24
Definition: scope_exit.hpp:26
constexpr prev_fn prev
Definition: operations.hpp:211
constexpr auto end() -> detail::facade_sentinel_t< D >
Let d be static_cast<Derived &>(*this). Let e be std::as_const(d).end_cursor() if that expression is ...
Definition: facade.hpp:112
constexpr auto operator()(Int n) const
Definition: drop_last.hpp:361
std::integral_constant< int, I > int_
An integral constant wrapper for int.
Definition: meta.hpp:171
Definition: adjacent_filter.hpp:150
Definition: compose.hpp:28
Returns an infinite range that endlessly repeats the source range.
Definition: cycle.hpp:219
constexpr unbounded_view< I > operator()(I it) const
Definition: unbounded.hpp:55