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:63
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:751
Definition: range_fwd.hpp:510
requires input_range< Rng > &&indirect_unary_predicate< R, projected< iterator_t< Rng >, P > > 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:47
Definition: arithmetic.hpp:54
Definition: slice.hpp:331
defer< id, T > id
Definition: meta.hpp:534
meta::if_c< std::is_reference< T >)||copyable< T >, T > any_cast(any &)
Definition: any.hpp:178
requires forward_range< Rng > &&indirect_strict_weak_order< R, projected< iterator_t< Rng >, P > > 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:56
Definition: subrange.hpp:132
constexpr inserter_fn inserter
Definition: insert_iterators.hpp:173
requires range< Rng > &&permutable< I > 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:205
meta::size_t< sizeof(T)> sizeof_
An alias that computes the size of the type T.
Definition: meta.hpp:656
requires permutable< I > &&sentinel_for< S, I > subrange< I > rotate(I first, I middle, S last)
function template rotate
Definition: rotate.hpp:187
Definition: stream_iterators.hpp:82
Definition: common_iterator.hpp:51
constexpr _crend_::fn crend
Definition: access.hpp:696
typename T::type _t
Type alias for T::type.
Definition: meta.hpp:129
Definition: operations.hpp:97
Definition: concepts.hpp:203
Definition: unique.hpp:28
requires invocable< F & > &&output_range< Rng, invoke_result_t< F & > > 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:47
defer< repeat_n, N, T > repeat_n
Definition: meta.hpp:1504
Definition: operations.hpp:490
Definition: stream_iterators.hpp:28
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:1817
requires bidirectional_iterator< I > &&sentinel_for< S, I > &&bidirectional_iterator< O > &&indirectly_movable< I, O > move_backward_result< I, O > move_backward(I first, S end_, O out)
function template move_backward
Definition: move_backward.hpp:35
Definition: drop_exactly.hpp:160
Definition: indirect.hpp:125
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:262
requires output_range< Rng, V const & > 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:41
Definition: range_fwd.hpp:610
requires range< Rng1 > &&range< Rng2 > &&mergeable< iterator_t< Rng1 >, iterator_t< Rng2 >, O, C, P1, P2 > 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:178
requires input_range< Rng > &&indirect_unary_predicate< C, projected< iterator_t< Rng >, P > > &&indirectly_writable< iterator_t< Rng >, T const & > 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:48
Definition: operations.hpp:386
defer< count_if, L, Fn > count_if
Definition: meta.hpp:2249
Users can specialize this to hook the common_reference_with concept.
Definition: type_traits.hpp:235
defer< and_, Bs... > and_
Definition: meta.hpp:1120
detail::is_valid_< T > is_valid
For testing whether a deferred computation will succeed in a let or a lambda.
Definition: meta.hpp:3041
Definition: for_each.hpp:89
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:423
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:185
requires sentinel_for< S0, I0 > &&sentinel_for< S1, I1 > &&mergeable< I0, I1, O, C, P0, P1 > 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:48
Reversed the source range in-place.
Definition: reverse.hpp:30
Definition: range_fwd.hpp:602
defer< first, Pair > first
Definition: meta.hpp:1849
constexpr at_fn at
Checked indexed range access.
Definition: operations.hpp:56
Definition: arithmetic.hpp:65
Definition: concepts.hpp:210
constexpr make_pipeable_fn make_pipeable
Definition: pipeable.hpp:59
constexpr make_tuple_fn make_tuple
Definition: tuple_algorithm.hpp:173
Definition: range_fwd.hpp:486
Definition: comparisons.hpp:103
constexpr action_closure< reverse_fn > reverse
Definition: reverse.hpp:43
Definition: basic_iterator.hpp:36
constexpr tuple_for_each_fn tuple_for_each
Definition: tuple_algorithm.hpp:158
requires bidirectional_range< Rng > &&sortable< iterator_t< Rng >, C, P > 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:310
Definition: remove.hpp:28
Definition: range_fwd.hpp:686
Definition: sample.hpp:275
Definition: range_fwd.hpp:161
defer< reverse_find_if, L, Fn > reverse_find_if
Definition: meta.hpp:2112
constexpr indirect_fn indirect
Definition: indirect.hpp:94
constexpr next_fn next
Definition: operations.hpp:210
A type-erased view.
Definition: any_view.hpp:597
defer< as_list, Sequence > as_list
Definition: meta.hpp:2407
Definition: remove_if.hpp:201
Definition: drop_while.hpp:85
Definition: optional.hpp:36
at_c< L, N::type::value > at
Return the N th element in the meta::list L.
Definition: meta.hpp:1555
requires input_range< IRng > &&range< ORng > &&indirectly_copyable< iterator_t< IRng >, iterator_t< ORng > > &&uniform_random_bit_generator< std::remove_reference_t< Gen > > &&random_access_iterator< iterator_t< ORng > > forward_range< IRng > sized_range< IRng > &&forward_range< ORng > sized_range< ORng > 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:178
Definition: insert_iterators.hpp:63
defer< find_if, L, Fn > find_if
Definition: meta.hpp:2069
Definition: for_each.hpp:101
defer< repeat_n, meta::size_t< N >, T > repeat_n_c
Definition: meta.hpp:1509
requires forward_iterator< I > &&sentinel_for< S, I > &&indirect_strict_weak_order< R, projected< I, P > > I is_sorted_until(I first, S last, R pred=R{}, P proj=P{})
template function is_sorted_until
Definition: is_sorted_until.hpp:44
requires bidirectional_range< Rng > &&permutable< I > 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:67
Definition: adjacent_difference.hpp:42
defer< count, L, T > count
Definition: meta.hpp:2215
Definition: partial_sum.hpp:182
Definition: operations.hpp:243
Definition: delimit.hpp:30
constexpr tuple_foldl_fn tuple_foldl
Definition: tuple_algorithm.hpp:134
Users can specialize this to hook the common_reference_with concept.
Definition: type_traits.hpp:311
Definition: range_fwd.hpp:698
Definition: insert_iterators.hpp:125
Definition: linear_distribute.hpp:32
requires input_range< Rng > &&indirect_unary_predicate< F, projected< iterator_t< Rng >, P > > 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:55
typename Fn::template invoke< Args... > invoke
Evaluate the invocable Fn with the arguments Args.
Definition: meta.hpp:498
_t< detail::_or_< Bs... > > or_
Logically OR together all the integral constant-wrapped Boolean parameters, with short-circuiting.
Definition: meta.hpp:1108
defer< _t, T > _t
Definition: meta.hpp:145
Definition: unique.hpp:30
Definition: intersperse.hpp:233
constexpr copy_fn copy
Definition: copy.hpp:52
constexpr tuple_transform_fn tuple_transform
Definition: tuple_algorithm.hpp:92
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:398
Definition: reference_wrapper.hpp:69
constexpr make_common_tuple_fn make_common_tuple
Definition: common_tuple.hpp:278
requires(forward_range< Rng0 >||(input_range< Rng0 > &&sized_range< Rng0 >)) &&(forward_range< Rng1 >||(input_range< Rng1 > &&sized_range< Rng1 >)) &&indirectly_comparable< iterator_t< Rng0 >
This is an overloaded member function, provided for convenience. It differs from the above function o...
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:206
requires bidirectional_range< Rng > &&common_range< Rng > &&permutable< iterator_t< Rng > > &&indirect_unary_predicate< C, projected< iterator_t< Rng >, P > > 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:64
Definition: range_fwd.hpp:555
_t< detail::front_< L > > front
Return the first element in meta::list L.
Definition: meta.hpp:1656
Definition: set_algorithm.hpp:399
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:231
Definition: sliding.hpp:375
constexpr detail::for_each_fn for_each
for_each(L, Fn) calls the Fn for each argument in the L.
Definition: meta.hpp:2321
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:199
Definition: take_while.hpp:102
Definition: comparisons.hpp:62
requires sortable< I, C, P > &&random_access_iterator< I > &&sentinel_for< S, I > I partial_sort(I first, I middle, S last, C pred=C{}, P proj=P{})
function template partial_sort
Definition: partial_sort.hpp:32
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:570
Given a source range, unary predicate, and optional projection, present a view of the elements that d...
Definition: remove_if.hpp:158
and_c< Bs::type::value... > strict_and_
Logically AND together all the integral constant-wrapped Boolean parameters, without short-circuiting...
Definition: meta.hpp:1068
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:237
requires forward_range< Rng > &&indirect_strict_weak_order< C, projected< iterator_t< Rng >, P > > 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:46
Definition: common.hpp:48
Definition: unbounded.hpp:50
constexpr iter_distance_compare_fn iter_distance_compare
Definition: operations.hpp:382
requires forward_range< Rng > &&indirect_strict_weak_order< C, V const *, projected< iterator_t< Rng >, P > > 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
requires input_range< Rng > &&indirectly_unary_invocable< F, projected< iterator_t< Rng >, P > > 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:54
Definition: compressed_pair.hpp:98
T & operator()(std::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:157
Definition: range_fwd.hpp:451
requires input_range< Rng > &&constexpr indirect_relation< equal_to, projected< iterator_t< Rng >, P >, const T * > 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:42
_t< detail::find_index_< L, T > > find_index
Finds the index of the first occurrence of the type T within the list L. Returns #meta::npos if the t...
Definition: meta.hpp:1901
requires forward_range< Rng > &&indirect_unary_predicate< C, projected< iterator_t< Rng >, P > > 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:75
if_< bool_< If >, Args... > if_c
Definition: meta.hpp:992
constexpr back_inserter_fn back_inserter
Definition: insert_iterators.hpp:72
void void_
An alias for void.
Definition: meta.hpp:546
Definition: concepts.hpp:251
Definition: cache1.hpp:26
requires input_range< Rng > &&indirect_relation< C, projected< iterator_t< Rng >, P > > &&weakly_incrementable< O > &&indirectly_copyable< iterator_t< Rng >, O > &&forward_iterator< iterator_t< Rng > > forward_iterator< O > indirectly_copyable_storable< iterator_t< Rng >, O > 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:135
requires input_iterator< I > &&weakly_incrementable< O > &&indirectly_copyable< I, O > copy_n_result< I, O > copy_n(I first, iter_difference_t< I > n, O out)
function template copy_n
Definition: copy_n.hpp:35
Definition: optional.hpp:38
Definition: concepts.hpp:638
requires random_access_range< Rng > &&sortable< iterator_t< Rng >, C, P > 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:308
requires range< Rng1 > &&range< Rng2 > &&mergeable< iterator_t< Rng1 >, iterator_t< Rng2 >, O, C, P1, P2 > 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:244
Definition: adaptor.hpp:96
meta::if_c< std::is_reference< R >::value, meta::_t< std::remove_reference< R > > &&, detail::decay_t< R > > move_t
Definition: move.hpp:55
Definition: generate_n.hpp:29
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:276
requires constexpr same_as< D, Derived > auto begin() const -> detail::facade_iterator_t< D const >
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: facade.hpp:97
Definition: traits.hpp:41
Definition: pipeable.hpp:65
requires forward_range< Rng > &&permutable< iterator_t< Rng > > &&indirect_unary_predicate< C, projected< iterator_t< Rng >, P > > 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:54
_t< detail::_and_< Bs... > > and_
Logically AND together all the integral constant-wrapped Boolean parameters, with short-circuiting.
Definition: meta.hpp:1078
Definition: range_fwd.hpp:415
Given a source range and a unary predicate, present a view of the elements that satisfy the predicate...
Definition: filter.hpp:50
Definition: chunk.hpp:532
friend auto operator<<(std::ostream &sout, Derived &rng) -> std::ostream &requires ` True &&(!range< D< True > const >) &&input_range< D< True >>
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: interface.hpp:510
requires random_access_range< Rng > &&sortable< iterator_t< Rng >, C, P > 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:276
requires forward_range< Rng > &&indirect_strict_weak_order< C, V const *, projected< iterator_t< Rng >, P > > 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:51
Definition: comparisons.hpp:26
Definition: indirect.hpp:28
defer< uncurry, Fn > uncurry
Definition: meta.hpp:852
requires forward_range< Rng > &&indirectly_comparable< iterator_t< Rng >, V const *, C, P > 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:159
requires bidirectional_range< Rng > &&sortable< iterator_t< Rng >, C, P > 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:259
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:212
requires input_range< Rng > &&indirect_unary_predicate< C, projected< iterator_t< Rng >, P > > 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:56
requires sortable< iterator_t< Rng >, C, P > &&random_access_range< Rng > 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:203
requires forward_range< Rng > &&permutable< iterator_t< Rng > > &&indirect_unary_predicate< C, projected< iterator_t< Rng >, P > > 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:106
Definition: stride.hpp:28
requires input_range< R1 > &&input_range< R2 > &&constexpr indirectly_comparable< iterator_t< R1 >, iterator_t< R2 >, Comp, Proj1, Proj2 > 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:61
Definition: range_fwd.hpp:494
Definition: not_fn.hpp:28
Definition: filter.hpp:64
requires copyable< T > &&constexpr indirect_strict_weak_order< C, projected< T const *, P > > 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:71
requires forward_range< Rng1 > &&forward_range< Rng2 > &&indirect_relation< R, projected< iterator_t< Rng1 >, P >, iterator_t< Rng2 > > 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:197
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:903
_t< detail::_if_< Args... > > if_
Select one type or another depending on a compile-time Boolean.
Definition: meta.hpp:976
Definition: take_while.hpp:115
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:2208
defer< not_fn, Fn > not_fn
Definition: meta.hpp:2455
Definition: push_back.hpp:73
requires sortable< iterator_t< Rng >, C, P > &&random_access_range< Rng > 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:55
defer< front, L > front
Definition: meta.hpp:1663
requires random_access_range< Rng > &&indirect_strict_weak_order< C, projected< iterator_t< Rng >, P > > 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:113
requires input_iterator< I > &&sentinel_for< S, I > &&indirect_unary_predicate< F, projected< I, P > > I find_if_not(I first, S last, F pred, P proj=P{})
template function find_if_not
Definition: find_if_not.hpp:41
Definition: partial_sum.hpp:69
defer< find_index, L, T > find_index
Definition: meta.hpp:1908
Definition: range_fwd.hpp:454
constexpr iter_size_fn iter_size
Definition: operations.hpp:407
defer< bind_front, Fn, Ts... > bind_front
Definition: meta.hpp:780
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:564
Definition: common_tuple.hpp:265
Definition: exclusive_scan.hpp:167
An iota view in a closed range.
Definition: range_fwd.hpp:558
requires input_range< Rng > &&weakly_incrementable< O > &&indirectly_movable< iterator_t< Rng >, O > 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:49
Definition: pipeable.hpp:41
requires input_range< Rng > &&weakly_incrementable< O > &&constexpr indirectly_copyable< iterator_t< Rng >, O > 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:49
Definition: stream_iterators.hpp:152
defer< let, As... > let
Definition: meta.hpp:3106
Definition: insert_iterators.hpp:112
Lazily applies an unary function to each element in the source range that returns another range (poss...
Definition: for_each.hpp:34
constexpr move_into_fn move_into
Definition: move_iterators.hpp:442
_t< detail::_if_< bool_< If >, Args... > > if_c
Select one type or another depending on a compile-time Boolean.
Definition: meta.hpp:981
constexpr _iter_swap_::fn iter_swap
Definition: access.hpp:236
Definition: shuffle.hpp:28
constexpr bool is_trait_v
true if T::type exists and names a type; false otherwise.
Definition: meta.hpp:554
constexpr front_inserter_fn front_inserter
Definition: insert_iterators.hpp:121
static constexpr T value
Definition: static_const.hpp:24
Definition: operations.hpp:115
Definition: common.hpp:154
Definition: range_fwd.hpp:650
requires input_range< Rng1 > &&input_range< Rng2 > &&indirect_strict_weak_order< C, projected< iterator_t< Rng1 >, P1 >, projected< iterator_t< Rng2 >, P2 > > 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:58
requires permutable< I > &&sentinel_for< S, I > &&indirect_unary_predicate< C, projected< I, P > > I remove_if(I first, S last, C pred, P proj=P{})
function template remove_if
Definition: remove_if.hpp:32
requires input_range< Rng > &&indirect_unary_predicate< F, projected< iterator_t< Rng >, P > > 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:45
bool_<!B > not_c
Logically negate the Boolean parameter.
Definition: meta.hpp:1048
constexpr not_fn_fn not_fn
Definition: not_fn.hpp:86
Definition: in_place.hpp:25
Definition: unstable_remove_if.hpp:29
Distributes n values linearly in the closed interval [from, to].
Definition: linear_distribute.hpp:138
Definition: range_fwd.hpp:570
Definition: adjacent_remove_if.hpp:162
requires random_access_range< Rng > &&sortable< iterator_t< Rng >, C, P > 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:375
constexpr make_ostream_joiner_fn make_ostream_joiner
Definition: stream_iterators.hpp:148
Definition: range_fwd.hpp:359
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:1974
Definition: arithmetic.hpp:34
Definition: reverse.hpp:142
Definition: operations.hpp:175
requires forward_iterator< I > &&sentinel_for< S, I > &&indirect_strict_weak_order< C, V const *, projected< I, P > > I upper_bound(I first, S last, V const &val, C pred=C{}, P proj=P{})
function template upper_bound
Definition: upper_bound.hpp:36
typename detail::_cond< If >::template invoke< Then, Else > conditional_t
Select one type or another depending on a compile-time Boolean.
Definition: meta.hpp:939
defer< on, Fn, G > on
Definition: meta.hpp:913
requires input_iterator< I0 > &&sentinel_for< S0, I0 > &&input_iterator< I1 > &&sentinel_for< S1, I1 > &&indirect_strict_weak_order< C, projected< I0, P0 >, projected< I1, P1 > > 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:28
Definition: concepts.hpp:208
Definition: getlines.hpp:27
Definition: addressof.hpp:29
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:1313
Definition: drop_while.hpp:28
requires input_iterator< I1 > &&sentinel_for< S1, I1 > &&input_iterator< I2 > &&indirectly_swappable< I1, I2 > swap_ranges_result< I1, I2 > swap_ranges(I1 begin1, S1 end1, I2 begin2)
function template swap_ranges
Definition: swap_ranges.hpp:35
std::integral_constant< bool, B > bool_
An integral constant wrapper for bool.
Definition: meta.hpp:156
Definition: cartesian_product.hpp:117
Definition: drop_last.hpp:364
bool_< and_v< Bs... > > and_c
Logically AND together all the Boolean parameters.
Definition: meta.hpp:1063
Definition: take_exactly.hpp:157
Definition: range_fwd.hpp:151
Definition: concepts.hpp:228
Definition: remove_if.hpp:31
Definition: common_tuple.hpp:669
requires input_range< Rng > &&indirectly_unary_invocable< F, projected< iterator_t< Rng >, P > > 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:50
requires forward_range< Rng > &&indirect_strict_weak_order< C, V const *, projected< iterator_t< Rng >, P > > 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
Definition: memory.hpp:171
Definition: pipeable.hpp:71
Definition: adaptor.hpp:99
meta::_t< detail::inherit_< L > > inherit
A type that inherits from all the types in the list.
Definition: meta.hpp:2553
Definition: memory.hpp:106
requires forward_range< Rng > &&indirect_strict_weak_order< R, projected< iterator_t< Rng >, P > > 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:65
Definition: range_fwd.hpp:770
reference_wrapper< T > operator()(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:122
requires input_range< Rng > &&indirect_unary_predicate< F, projected< iterator_t< Rng >, P > > 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:46
requires input_range< Rng > &&weakly_incrementable< O > &&indirect_relation< equal_to, projected< iterator_t< Rng >, P >, T const * > &&indirectly_copyable< iterator_t< Rng >, O > 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:59
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:255
requires random_access_range< Rng > &&permutable< iterator_t< Rng > > &&uniform_random_bit_generator< std::remove_reference_t< Gen > > &&convertible_to< invoke_result_t< Gen & >, iter_difference_t< iterator_t< Rng > > > 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:71
constexpr index_fn index
Unchecked indexed range access.
Definition: operations.hpp:93
requires input_range< Rng > &&weakly_incrementable< O0 > &&weakly_incrementable< O1 > &&indirectly_copyable< iterator_t< Rng >, O0 > &&indirectly_copyable< iterator_t< Rng >, O1 > &&indirect_unary_predicate< C, projected< iterator_t< Rng >, P > > 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:56
defer< min, Ts... > min
Definition: meta.hpp:1801
constexpr bool is_callable_v
true if T::invoke exists and names a class template; false otherwise.
Definition: meta.hpp:559
Definition: reference_wrapper.hpp:112
Definition: move_iterators.hpp:27
constexpr friend auto operator|(T &&t, copy_fn) -> detail::decay_t< T > requires ` constructible_from< detail::decay_t< T >, T >
Definition: copy.hpp:41
Definition: stream_iterators.hpp:136
drop< L, min< reverse_find_index< L, T >, size< L > >> reverse_find
Return the tail of the list L starting at the last occurrence of T, if any such element exists; the e...
Definition: meta.hpp:2019
Definition: tuple_algorithm.hpp:32
Users should specialize this to hook the common_with concept until std gets a SFINAE-friendly std::co...
Definition: type_traits.hpp:197
defer< back, L > back
Definition: meta.hpp:1696
requires sortable< iterator_t< Rng >, C, P > &&random_access_range< Rng > 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:202
_t< extension::apply< Fn, L > > apply
Applies the invocable Fn using the types in the type list L as arguments.
Definition: meta.hpp:821
Definition: generate.hpp:29
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:225
Definition: insert_iterators.hpp:163
Definition: drop_exactly.hpp:33
list< F, S > pair
A list with exactly two elements.
Definition: meta.hpp:1832
Definition: optional.hpp:25
std::integral_constant< std::size_t, N > size_t
An integral constant wrapper for std::size_t.
Definition: meta.hpp:151
constexpr compose_fn compose
Definition: compose.hpp:92
A utility for constructing a view from a (derived) type that implements begin and end cursors.
Definition: range_fwd.hpp:418
requires input_range< Rng0 > &&forward_range< Rng1 > &&constexpr indirect_relation< R, projected< iterator_t< Rng0 >, P0 >, projected< iterator_t< Rng1 >, P1 > > 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:51
Definition: concepts.hpp:636
Definition: action.hpp:60
Definition: take_last.hpp:30
Definition: exclusive_scan.hpp:41
requires input_range< Rng > &&output_iterator< O, T const & > &&indirect_unary_predicate< C, projected< iterator_t< Rng >, P > > &&indirectly_copyable< iterator_t< Rng >, O > 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:52
compose< quote< not_ >, Fn > not_fn
Logically negate the result of invocable Fn.
Definition: meta.hpp:2448
Definition: stable_sort.hpp:28
Definition: drop_exactly.hpp:131
requires range< Rng1 > &&range< Rng2 > &&mergeable< iterator_t< Rng1 >, iterator_t< Rng2 >, O, C, P1, P2 > 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:320
requires forward_range< Rng > &&indirect_relation< C, projected< iterator_t< Rng >, P > > 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:52
requires forward_range< Rng > &&indirect_strict_weak_order< C, projected< iterator_t< Rng >, P > > 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:46
defer< equal_to, T, U > equal_to
Definition: meta.hpp:329
defer< or_, Bs... > or_
Definition: meta.hpp:1125
Definition: range_fwd.hpp:578
requires constexpr same_as< D, iter_transform2_view< Rng1, Rng2, Fun > > 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:111
Definition: comparisons.hpp:86
Definition: adjacent_remove_if.hpp:29
Definition: range_fwd.hpp:158
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:1783
Definition: unreachable_sentinel.hpp:25
Definition: dangling.hpp:29
Definition: operations.hpp:33
requires input_range< Rng > &&indirect_unary_predicate< F, projected< iterator_t< Rng >, P > > 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:54
_t< detail::back_< L > > back
Return the last element in meta::list L.
Definition: meta.hpp:1689
Definition: range_fwd.hpp:537
requires input_range< Rng > &&weakly_incrementable< O > &&indirect_unary_predicate< C, projected< iterator_t< Rng >, P > > &&indirectly_copyable< iterator_t< Rng >, O > 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:58
Definition: default_sentinel.hpp:24
requires bidirectional_range< Rng > &&weakly_incrementable< O > &&indirectly_copyable< iterator_t< Rng >, O > 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:49
Definition: comparisons.hpp:74
constexpr make_common_pair_fn make_common_pair
Definition: common_tuple.hpp:499
Definition: arithmetic.hpp:77
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:834
_t< detail::reverse_find_index_< L, T > > reverse_find_index
Finds the index of the last occurrence of the type T within the list L. Returns #meta::npos if the ty...
Definition: meta.hpp:1956
requires invocable< F & > &&output_iterator< O, invoke_result_t< F & > > generate_n_result< O, F > generate_n(O first, iter_difference_t< O > n, F fun)
function template generate_n
Definition: generate_n.hpp:35
requires range< Rng0 > &&range< Rng1 > &&mergeable< iterator_t< Rng0 >, iterator_t< Rng1 >, O, C, P0, P1 > 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:78
requires copyable< T > &&constexpr indirect_strict_weak_order< C, projected< T const *, P > > 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:109
defer< any_of, L, Fn > any_of
Definition: meta.hpp:2491
requires viewable_range< Rng > &&forward_range< Rng > cycled_view< all_t< Rng > > operator()(Rng &&rng) const
Definition: cycle.hpp:258
Definition: slice.hpp:198
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:219
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:249
constexpr bool is_v
is_v Test whether a type T is an instantiation of class template C.
Definition: meta_fwd.hpp:57
Definition: range_fwd.hpp:689
requires forward_iterator< I > &&sentinel_for< S, I > &&indirect_strict_weak_order< C, V const *, projected< I, P > > I lower_bound(I first, S last, V const &val, C pred=C{}, P proj=P{})
function template lower_bound
Definition: lower_bound.hpp:36
requires input_range< Rng1 > &&input_range< Rng2 > &&indirect_relation< C, projected< iterator_t< Rng1 >, P1 >, projected< iterator_t< Rng2 >, P2 > > 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:103
constexpr _size_::fn size
Definition: primitives.hpp:149
Definition: take_while.hpp:28
Definition: semiregular_box.hpp:59
requires constexpr same_as< D, cartesian_product_view< Views... > > 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:88
Definition: range_fwd.hpp:767
constexpr T::type::value_type _v
Variable alias for T::type::value.
Definition: meta.hpp:136
requires forward_range< Rng > &&indirect_strict_weak_order< C, projected< iterator_t< Rng >, P > > 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:85
constexpr enumerate_fn enumerate
Definition: operations.hpp:487
Definition: static_const.hpp:23
Definition: insert_iterators.hpp:27
Definition: compare.hpp:29
Definition: intersperse.hpp:219
Definition: range_fwd.hpp:586
requires random_access_range< Rng > &&sized_range< Rng > &&constexpr borrowed_range< Rng > range_reference_t< Rng > operator()(Rng &&rng, range_difference_t< Rng > n) const
Definition: operations.hpp:36
Definition: counted.hpp:73
Definition: common_tuple.hpp:711
requires input_range< Rng > &&weakly_incrementable< O > &&indirect_unary_predicate< F, projected< iterator_t< Rng >, P > > &&indirectly_copyable< iterator_t< Rng >, O > 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:59
Definition: concepts.hpp:239
Definition: split_when.hpp:32
Definition: range_fwd.hpp:361
Definition: concepts.hpp:212
requires input_range< InRng > &&random_access_range< OutRng > &&indirectly_copyable< iterator_t< InRng >, iterator_t< OutRng > > &&sortable< iterator_t< OutRng >, C, PO > &&indirect_strict_weak_order< C, projected< iterator_t< InRng >, PI >, projected< iterator_t< OutRng >, PO > > 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:64
Definition: indirect.hpp:84
bool_< is_v< T, C > > is
is Test whether a type T is an instantiation of class template C.
Definition: meta.hpp:684
requires forward_range< Rng > &&indirect_strict_weak_order< C, V const *, projected< iterator_t< Rng >, P > > 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:50
requires forward_range< Rng > &&indirect_relation< Pred, projected< iterator_t< Rng >, Proj > > &&permutable< iterator_t< Rng > > 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
front< pop_front< Pair > > second
Retrieve the first element of the pair Pair.
Definition: meta.hpp:1842
Definition: for_each.hpp:75
Definition: pipeable.hpp:62
front< Pair > first
Retrieve the first element of the pair Pair.
Definition: meta.hpp:1837
Definition: remove.hpp:31
constexpr unwrap_reference_fn unwrap_reference
Definition: reference_wrapper.hpp:171
compose< quote< _t >, quote< C > > quote_trait
Turn a trait template C into an invocable.
Definition: meta.hpp:746
Definition: drop_while.hpp:31
Definition: concepts.hpp:251
requires range< Rng > &&weakly_incrementable< O > &&indirectly_copyable< iterator_t< Rng >, O > 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:49
Definition: overload.hpp:54
Definition: range_fwd.hpp:448
Definition: range_fwd.hpp:439
Definition: adjacent_filter.hpp:169
Definition: range_fwd.hpp:658
requires output_iterator< O, V const & > O fill_n(O first, iter_difference_t< O > n, V const &val)
function template equal
Definition: fill_n.hpp:31
requires random_access_range< Rng > &&indirect_strict_weak_order< C, projected< iterator_t< Rng >, P > > 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:146
requires copyable< T > &&constexpr indirect_strict_weak_order< C, projected< T const *, P > > 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:71
Definition: range_fwd.hpp:545
constexpr _empty_::fn empty
Definition: primitives.hpp:314
Definition: getlines.hpp:93
requires(!std::is_bind_expression< uncvref_t< F >>::value)` F operator()(F &&f) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: bind.hpp:102
requires input_range< Rng > &&constexpr indirect_relation< equal_to, projected< iterator_t< Rng >, P >, V const * > 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:53
Definition: split.hpp:460
Definition: range_fwd.hpp:626
Definition: filter.hpp:27
_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:450
constexpr make_compressed_tuple_fn make_compressed_tuple
Definition: compressed_pair.hpp:111
requires viewable_range< Rng > &&input_range< Rng > &&constexpr constructible_from< range_value_t< Rng >, range_reference_t< Rng > > 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:180
Definition: push_front.hpp:73
Definition: concepts.hpp:263
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:1293
Definition: insert.hpp:213
Definition: replace_if.hpp:115
requires input_range< Rng > &&output_iterator< O, T2 const & > &&indirectly_copyable< iterator_t< Rng >, O > &&indirect_relation< equal_to, projected< iterator_t< Rng >, P >, T1 const * > 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:52
constexpr back_fn back
Definition: operations.hpp:111
category
An enum that denotes the supported subset of range concepts supported by a range.
Definition: any_view.hpp:41
constexpr _crbegin_::fn crbegin
Definition: access.hpp:675
requires input_range< Rng > &&indirect_relation< equal_to, projected< iterator_t< Rng >, P >, V const * > 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:48
constexpr overload_fn overload
Definition: overload.hpp:169
constexpr get_cursor_fn get_cursor
Definition: basic_iterator.hpp:902
constexpr tuple_apply_fn tuple_apply
Definition: tuple_algorithm.hpp:55
Definition: range_fwd.hpp:422
constexpr make_compressed_pair_fn make_compressed_pair
Definition: compressed_pair.hpp:184
Definition: adaptor.hpp:93
defer< if_, Args... > if_
Definition: meta.hpp:987
constexpr _end_::fn end
Definition: access.hpp:332
Definition: range_fwd.hpp:357
Definition: comparisons.hpp:38
constexpr _begin_::fn begin
Definition: access.hpp:175
Definition: range_fwd.hpp:457
Definition: range_fwd.hpp:355
Definition: move_iterators.hpp:232
requires forward_iterator< I > &&sentinel_for< S, I > &&indirect_unary_predicate< C, projected< I, P > > I partition_point(I first, S last, C pred, P proj=P{})
function template partition_point
Definition: partition_point.hpp:42
Definition: shared.hpp:30
constexpr make_view_closure_fn make_view_closure
Definition: view.hpp:86
Definition: repeat_n.hpp:36
constexpr make_action_closure_fn make_action_closure
Definition: action.hpp:37
Definition: for_each.hpp:46
constexpr action_closure< unique_fn > unique
Definition: unique.hpp:53
constexpr _cdata_::fn cdata
Definition: primitives.hpp:241
_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:2062
constexpr bind_back_fn bind_back
Definition: bind_back.hpp:181
defer< size, L > size
Definition: meta.hpp:1320
std::integral_constant< char, Ch > char_
An integral constant wrapper for char.
Definition: meta.hpp:166
Definition: basic_iterator.hpp:520
requires input_range< Rng > &&indirect_unary_predicate< F, projected< iterator_t< Rng >, P > > 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:46
constexpr _rend_::fn rend
Definition: access.hpp:654
Definition: sample.hpp:72
requires input_iterator< I > &&sentinel_for< S, I > &&weakly_incrementable< O0 > &&weakly_incrementable< O1 > &&indirectly_copyable< I, O0 > &&indirectly_copyable< I, O1 > &&indirect_unary_predicate< C, projected< I, P > > 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:33
Checked indexed range access.
Definition: operations.hpp:29
constexpr on_fn on
Definition: on.hpp:65
Definition: accumulate.hpp:25
constexpr _rbegin_::fn rbegin
Definition: access.hpp:516
Definition: set_algorithm.hpp:211
Definition: set_algorithm.hpp:229
defer< max, Ts... > max
Definition: meta.hpp:1806
Definition: common_tuple.hpp:69
Definition: delimit.hpp:79
Definition: insert_iterators.hpp:76
Definition: action.hpp:28
Definition: memory.hpp:230
_t< id< T > > id_t
An alias for type T. Useful in non-deduced contexts.
Definition: meta.hpp:526
Definition: const.hpp:115
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:2520
requires input_range< Rng0 > &&input_range< Rng1 > &&indirect_strict_weak_order< C, projected< iterator_t< Rng0 >, P0 >, projected< iterator_t< Rng1 >, P1 > > 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:49
defer< reverse_find, L, T > reverse_find
Definition: meta.hpp:2026
Definition: range_fwd.hpp:618
_t< detail::at_< L, N > > at_c
Return the N th element in the meta::list L.
Definition: meta.hpp:1548
Half-open range of indices: [from, to).
Definition: indices.hpp:29
requires forward_range< Rng1 > &&forward_range< Rng2 > &&indirectly_comparable< iterator_t< Rng1 >, iterator_t< Rng2 >, C, P1, P2 > 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:176
constexpr distance_fn distance
Definition: operations.hpp:524
requires bidirectional_range< Rng > &&sortable< iterator_t< Rng >, C, P > 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:355
defer< invoke, Fn, Args... > invoke
Definition: meta.hpp:506
Definition: filter.hpp:95
requires bidirectional_range< Rng > &&bidirectional_iterator< O > &&indirectly_movable< iterator_t< Rng >, O > 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:49
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:243
Definition: split_when.hpp:30
Definition: exclusive_scan.hpp:179
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:2484
Definition: invoke.hpp:167
meta::size_t< alignof(T)> alignof_
An alias that computes the alignment required for any instance of the type T.
Definition: meta.hpp:663
Definition: operations.hpp:213
Definition: range_fwd.hpp:642
Definition: range_fwd.hpp:465
Definition: cache1.hpp:170
not_c< B::type::value > not_
Logically negate the integral constant-wrapped Boolean parameter.
Definition: meta.hpp:1053
defer< less, T, U > less
Definition: meta.hpp:344
Definition: access.hpp:140
requires forward_iterator< I > &&sentinel_for< S, I > &&indirect_strict_weak_order< C, projected< I, P > > I min_element(I first, S last, C pred=C{}, P proj=P{})
function template min_element
Definition: min_element.hpp:31
Definition: range_fwd.hpp:133
defer< all_of, L, Fn > all_of
Definition: meta.hpp:2473
Definition: set_algorithm.hpp:381
Definition: compressed_pair.hpp:170
_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:438
requires random_access_iterator< I > &&sentinel_for< S, I > &&sortable< I, C, P > I make_heap(I first, S last, C pred=C{}, P proj=P{})
function template make_heap
Definition: heap_algorithm.hpp:359
requires bidirectional_range< Rng > &&bidirectional_iterator< O > &&indirectly_copyable< iterator_t< Rng >, O > 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:49
repeat_n_c< N::type::value, T > repeat_n
Generate list<T,T,T...T> of size N arguments.
Definition: meta.hpp:1497
constexpr iter_distance_fn iter_distance
Definition: operations.hpp:339
constexpr bool or_v
Logically OR together all the Boolean parameters.
Definition: meta.hpp:1089
Returns a random sample of a range of length size(range).
Definition: sample.hpp:243
constexpr move_fn move
Definition: move.hpp:48
Definition: range_fwd.hpp:529
Definition: sliding.hpp:48
constexpr action_closure< stable_sort_fn > stable_sort
Definition: stable_sort.hpp:50
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:192
_t< detail::repeat_n_c_< T, make_index_sequence< N > >> repeat_n_c
Generate list<T,T,T...T> of size N arguments.
Definition: meta.hpp:1490
requires bidirectional_range< Rng > &&indirect_unary_predicate< C, projected< iterator_t< Rng >, P > > &&permutable< iterator_t< Rng > > 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:296
Definition: range_fwd.hpp:730
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:2502
Definition: concepts.hpp:240
requires forward_iterator< I > &&sentinel_for< S, I > &&indirect_relation< C, projected< I, P > > I adjacent_find(I first, S last, C pred=C{}, P proj=P{})
function template adjacent_find
Definition: adjacent_find.hpp:35
or_c< Bs::type::value... > strict_or_
Logically OR together all the integral constant-wrapped Boolean parameters, without short-circuiting.
Definition: meta.hpp:1098
_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:430
requires range< Rng1 > &&range< Rng2 > &&mergeable< iterator_t< Rng1 >, iterator_t< Rng2 >, O, C, P1, P2 > 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:120
constexpr front_fn front
Definition: operations.hpp:128
constexpr _cbegin_::fn cbegin
Definition: access.hpp:353
Definition: access.hpp:265
defer< compose, Fns... > compose
Definition: meta.hpp:714
Definition: range_fwd.hpp:473
Definition: traits.hpp:120
requires constexpr same_as< D, Derived > auto end() const -> detail::facade_sentinel_t< D const >
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: facade.hpp:120
requires(sizeof...(Ts) > 0) using lambda
For creating anonymous Invocables.
Definition: for_each.hpp:61
requires input_range< Rng > &&indirectly_writable< iterator_t< Rng >, T2 const & > &&indirect_relation< equal_to, projected< iterator_t< Rng >, P >, T1 const * > 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:48
constexpr auto empty() const noexcept -> bool requires `(detail::has_fixed_size_< Cardinality >) `
Test whether a range can be empty:
Definition: interface.hpp:142
Definition: arithmetic.hpp:44
Definition: take_while.hpp:127
constexpr advance_fn advance
Definition: operations.hpp:173
Definition: common_tuple.hpp:282
Definition: range_fwd.hpp:594
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:269
Definition: range_fwd.hpp:773
Definition: range_fwd.hpp:738
constexpr distance_compare_fn distance_compare
Definition: operations.hpp:563
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:115
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:1791
Definition: remove_if.hpp:32
constexpr ref_fn ref
Definition: reference_wrapper.hpp:136
Definition: intersperse.hpp:33
Definition: drop_last.hpp:120
requires random_access_range< Rng > &&sortable< iterator_t< Rng >, C, P > 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:337
defer< bind_back, Fn, Ts... > bind_back
Definition: meta.hpp:785
Definition: range_fwd.hpp:567
constexpr iter_enumerate_fn iter_enumerate
Definition: operations.hpp:301
constexpr _cend_::fn cend
Definition: access.hpp:374
Definition: action.hpp:110
INTERNAL ONLY.
Definition: compare.hpp:27
Definition: optional.hpp:28
Definition: identity.hpp:24
Definition: scope_exit.hpp:24
constexpr prev_fn prev
Definition: operations.hpp:240
requires invocable< F & > &&output_iterator< O, invoke_result_t< F & > > &&sentinel_for< S, O > generate_result< O, F > generate(O first, S last, F fun)
function template generate_n
Definition: generate.hpp:35
std::integral_constant< int, I > int_
An integral constant wrapper for int.
Definition: meta.hpp:161
defer< in, L, T > in
Definition: meta.hpp:2527
Definition: adjacent_filter.hpp:157
concept view_
View concepts below.
Definition: concepts.hpp:189
Definition: compose.hpp:27
requires forward_range< Rng > &&permutable< iterator_t< Rng > > &&indirect_relation< equal_to, projected< iterator_t< Rng >, P >, T const * > 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:55