Range-v3
Range algorithms, views, and actions for the Standard Library
compare.hpp File Reference

Namespaces

 concepts
 INTERNAL ONLY.
 

Variables

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
 
ranges::experimental::shared_closure
Definition: shared.hpp:63
meta::lazy::drop
defer< drop, L, N > drop
Definition: meta.hpp:1630
meta::quote_trait_i
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
generate.hpp
ranges::cycled_view
Definition: range_fwd.hpp:510
ranges::count_if
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
swap.hpp
ranges::bitwise_or
Definition: arithmetic.hpp:54
ranges::views::slice_fn
Definition: slice.hpp:331
meta::lazy::id
defer< id, T > id
Definition: meta.hpp:534
algorithm.hpp
ranges::any_cast
meta::if_c< std::is_reference< T >)||copyable< T >, T > any_cast(any &)
Definition: any.hpp:178
ranges::aux::copy_fn
Definition: copy.hpp:29
filter.hpp
ranges::is_sorted
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
join.hpp
equal.hpp
ranges::subrange
Definition: subrange.hpp:132
ranges::identity_adaptor
Definition: all.hpp:87
ranges::iota_fn
Definition: iota.hpp:24
ranges::transform2_view
Definition: transform.hpp:401
concepts.hpp
ranges::inserter
constexpr inserter_fn inserter
Definition: insert_iterators.hpp:173
bind_back.hpp
identity.hpp
ranges::rotate
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::sizeof_
meta::size_t< sizeof(T)> sizeof_
An alias that computes the size of the type T.
Definition: meta.hpp:656
ranges::rotate
requires permutable< I > &&sentinel_for< S, I > subrange< I > rotate(I first, I middle, S last)
function template rotate
Definition: rotate.hpp:187
drop_last.hpp
ranges::ostream_joiner
Definition: stream_iterators.hpp:82
ranges::common_iterator
Definition: common_iterator.hpp:51
ranges::crend
constexpr _crend_::fn crend
Definition: access.hpp:696
meta::_t
typename T::type _t
Type alias for T::type.
Definition: meta.hpp:129
ranges::back_fn
Definition: operations.hpp:97
partition_copy.hpp
ranges::range_tag
Definition: concepts.hpp:203
ranges::actions::unique_fn
Definition: unique.hpp:28
zip.hpp
ranges::generate
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
find_if.hpp
meta::push_back
apply< bind_back< quote< list >, Ts... >, L > push_back
Return a new meta::list by adding the element T to the back of L.
Definition: meta.hpp:1759
ranges::views::join_base_fn
Definition: join.hpp:536
meta::lazy::repeat_n
defer< repeat_n, N, T > repeat_n
Definition: meta.hpp:1504
ranges::distance_fn
Definition: operations.hpp:490
ranges::ostream_iterator
Definition: stream_iterators.hpp:28
meta::empty
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
ranges::move_backward
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
primitives.hpp
scope_exit.hpp
ranges::views::drop_exactly_fn
Definition: drop_exactly.hpp:160
dangling.hpp
ranges::views::indirect_fn
Definition: indirect.hpp:125
any_of.hpp
meta::bit_and
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
ranges::fill
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
meta::partition
fold< L, pair< list<>, list<> >, detail::partition_< Fn > > partition
Returns a pair of lists, where the elements of L that satisfy the invocable Fn such that invoke<Fn,...
Definition: meta.hpp:2648
ranges::tail_view
Definition: tail.hpp:41
meta::protect
detail::protect_< T > protect
For preventing the evaluation of a nested defered computation in a let or lambda expression.
Definition: meta.hpp:3054
ranges::views::all_fn
Definition: all.hpp:29
ranges::repeat_view
Definition: range_fwd.hpp:610
ranges::set_intersection
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
insert_iterators.hpp
minmax.hpp
generate.hpp
ranges::replace_if
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
split.hpp
ranges::iter_size_fn
Definition: operations.hpp:386
reference_wrapper.hpp
meta::lazy::count_if
defer< count_if, L, Fn > count_if
Definition: meta.hpp:2249
rotate.hpp
swap.hpp
concepts::basic_common_reference
Users can specialize this to hook the common_reference_with concept.
Definition: type_traits.hpp:235
ranges::protect_fn
Definition: bind.hpp:93
meta::lazy::and_
defer< and_, Bs... > and_
Definition: meta.hpp:1120
meta::is_valid
detail::is_valid_< T > is_valid
For testing whether a deferred computation will succeed in a let or a lambda.
Definition: meta.hpp:3041
c_str.hpp
delimit.hpp
ranges::yield_if_fn
Definition: for_each.hpp:89
meta::index_sequence
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
meta::plus
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
meta::defer_i
A wrapper that defers the instantiation of a template C with integral constant parameters Is in a lam...
Definition: meta.hpp:630
ranges::merge
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
ranges::actions::reverse_fn
Reversed the source range in-place.
Definition: reverse.hpp:30
ranges::ref_view
Definition: range_fwd.hpp:602
meta::lazy::first
defer< first, Pair > first
Definition: meta.hpp:1849
ranges::at
constexpr at_fn at
Checked indexed range access.
Definition: operations.hpp:56
ranges::convert_to
Definition: arithmetic.hpp:65
const.hpp
ranges::bidirectional_range_tag
Definition: concepts.hpp:210
ranges::make_pipeable
constexpr make_pipeable_fn make_pipeable
Definition: pipeable.hpp:59
ranges::make_tuple
constexpr make_tuple_fn make_tuple
Definition: tuple_algorithm.hpp:173
type_traits.hpp
unique.hpp
ranges::const_view
Definition: range_fwd.hpp:486
iterator.hpp
ranges::views::join_fn
Definition: join.hpp:592
move_backward.hpp
comparisons.hpp
ranges::compare_three_way
Definition: comparisons.hpp:103
ranges::actions::reverse_fn::reverse
constexpr action_closure< reverse_fn > reverse
Definition: reverse.hpp:43
ranges::basic_mixin
Definition: basic_iterator.hpp:36
ranges::tuple_for_each
constexpr tuple_for_each_fn tuple_for_each
Definition: tuple_algorithm.hpp:158
default_sentinel.hpp
ranges::next_permutation
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
ranges::actions::remove_fn
Definition: remove.hpp:28
repeat.hpp
ranges::iter_take_while_view
Definition: range_fwd.hpp:686
ranges::views::sample_fn
Definition: sample.hpp:275
ranges::view_base
Definition: range_fwd.hpp:161
for_each.hpp
meta::lazy::reverse_find_if
defer< reverse_find_if, L, Fn > reverse_find_if
Definition: meta.hpp:2112
ranges::indirect
constexpr indirect_fn indirect
Definition: indirect.hpp:94
ranges::next
constexpr next_fn next
Definition: operations.hpp:210
ranges::any_view
A type-erased view.
Definition: any_view.hpp:597
meta::lazy::as_list
defer< as_list, Sequence > as_list
Definition: meta.hpp:2407
ranges::views::remove_if_fn
Definition: remove_if.hpp:201
ranges::views::drop_while_base_fn
Definition: drop_while.hpp:85
ActionFn
action.hpp
erase.hpp
ranges::nullopt_t
Definition: optional.hpp:36
meta::at
at_c< L, N::type::value > at
Return the N th element in the meta::list L.
Definition: meta.hpp:1555
ranges::sample
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
ranges::back_inserter_fn
Definition: insert_iterators.hpp:63
ranges::actions::transform_fn
Definition: transform.hpp:28
meta::lazy::find_if
defer< find_if, L, Fn > find_if
Definition: meta.hpp:2069
ranges::lazy_yield_if_fn
Definition: for_each.hpp:101
meta::lazy::repeat_n_c
defer< repeat_n, meta::size_t< N >, T > repeat_n_c
Definition: meta.hpp:1509
ranges::is_sorted_until
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
ranges::reverse
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
ranges::adjacent_difference_fn
Definition: adjacent_difference.hpp:42
meta::lazy::count
defer< count, L, T > count
Definition: meta.hpp:2215
ranges::views::partial_sum_base_fn
Definition: partial_sum.hpp:182
ranges::iter_enumerate_fn
Definition: operations.hpp:243
remove.hpp
drop_while.hpp
ranges::delimit_view
Definition: delimit.hpp:30
ranges::transform_view
Definition: range_fwd.hpp:709
reverse.hpp
ranges::tuple_foldl
constexpr tuple_foldl_fn tuple_foldl
Definition: tuple_algorithm.hpp:134
any_view.hpp
concepts::common_reference
Users can specialize this to hook the common_reference_with concept.
Definition: type_traits.hpp:311
ranges::tokenize_view
Definition: range_fwd.hpp:698
ranges::insert_iterator
Definition: insert_iterators.hpp:125
transform.hpp
ranges::views::linear_distribute_view
Definition: linear_distribute.hpp:32
transform.hpp
diffmax_t.hpp
ranges::find_if_not
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
counted.hpp
meta::invoke
typename Fn::template invoke< Args... > invoke
Evaluate the invocable Fn with the arguments Args.
Definition: meta.hpp:498
common.hpp
meta::or_
_t< detail::_or_< Bs... > > or_
Logically OR together all the integral constant-wrapped Boolean parameters, with short-circuiting.
Definition: meta.hpp:1108
meta::lazy::_t
defer< _t, T > _t
Definition: meta.hpp:145
ranges::views::unique_base_fn
Definition: unique.hpp:30
ranges::views::intersperse_fn
Definition: intersperse.hpp:233
lower_bound.hpp
compare.hpp
partial_sort_copy.hpp
rotate_copy.hpp
remove_copy_if.hpp
counted_iterator.hpp
ranges::aux::copy
constexpr copy_fn copy
Definition: copy.hpp:52
ranges::tuple_transform
constexpr tuple_transform_fn tuple_transform
Definition: tuple_algorithm.hpp:92
ranges::to
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
ranges::reference_wrapper
Definition: reference_wrapper.hpp:69
ranges::make_common_tuple
constexpr make_common_tuple_fn make_common_tuple
Definition: common_tuple.hpp:278
ranges::requires
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...
linear_distribute.hpp
ranges::bind_element
Definition: bind.hpp:49
meta::divides
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
adjacent_remove_if.hpp
zip_with.hpp
ranges::unstable_remove_if
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
ranges::iota_view
Definition: range_fwd.hpp:555
meta::front
_t< detail::front_< L > > front
Return the first element in meta::list L.
Definition: meta.hpp:1656
ranges::views::set_intersection_fn
Definition: set_algorithm.hpp:399
meta::not_equal_to
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
take_while.hpp
ranges::views::sliding_base_fn
Definition: sliding.hpp:375
meta::for_each
constexpr detail::for_each_fn for_each
for_each(L, Fn) calls the Fn for each argument in the L.
Definition: meta.hpp:2321
meta::multiplies
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
ranges::views::iter_take_while_base_fn
Definition: take_while.hpp:102
ranges::less_equal
Definition: comparisons.hpp:62
ranges::partial_sort
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
meta::is_callable
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
istream.hpp
common_iterator.hpp
ranges::views::remove_if_base_fn
Given a source range, unary predicate, and optional projection, present a view of the elements that d...
Definition: remove_if.hpp:158
subrange.hpp
meta::strict_and_
and_c< Bs::type::value... > strict_and_
Logically AND together all the integral constant-wrapped Boolean parameters, without short-circuiting...
Definition: meta.hpp:1068
unique.hpp
meta::greater
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
map.hpp
random.hpp
ranges::max_element
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
ranges::common_view
Definition: common.hpp:48
ranges::views::unbounded_fn
Definition: unbounded.hpp:50
lexicographical_compare.hpp
ranges::iter_distance_compare
constexpr iter_distance_compare_fn iter_distance_compare
Definition: operations.hpp:382
ranges::equal_range
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
ranges::for_each_n
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
ranges::make_compressed_tuple_fn
Definition: compressed_pair.hpp:98
ranges::unwrap_reference_fn::operator()
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
ranges::istream_view
Definition: range_fwd.hpp:451
ranges::contains
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
ranges::aux::move_fn
Definition: move.hpp:29
meta::find_index
_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
meta::fold
_t< detail::fold_< L, State, Fn > > fold
Return a new meta::list constructed by doing a left fold of the list L using binary invocable Fn and ...
Definition: meta.hpp:1212
ranges::partition_point
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
meta::lazy::if_c
if_< bool_< If >, Args... > if_c
Definition: meta.hpp:992
ranges::back_inserter
constexpr back_inserter_fn back_inserter
Definition: insert_iterators.hpp:72
meta::void_
void void_
An alias for void.
Definition: meta.hpp:546
ranges::sized_range_tag
Definition: concepts.hpp:251
ranges::cache1_view
Definition: cache1.hpp:26
slice.hpp
view.hpp
transform.hpp
ranges::unique_copy
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
ranges::copy_n
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
memory.hpp
find.hpp
ranges::nullopt_t::tag
Definition: optional.hpp:38
ranges::sized_sentinel_tag
Definition: concepts.hpp:638
bind.hpp
meta::detail::require_constant
Definition: meta_fwd.hpp:68
binary_search.hpp
ranges::nth_element
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
ranges::set_difference
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
ranges::base_adaptor_sentinel
Definition: adaptor.hpp:96
box.hpp
ranges::aux::move_t
meta::if_c< std::is_reference< R >::value, meta::_t< std::remove_reference< R > > &&, detail::decay_t< R > > move_t
Definition: move.hpp:55
ranges::generate_n_view
Definition: generate_n.hpp:29
move_iterators.hpp
meta::bit_xor
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
version.hpp
cycle.hpp
ranges::view_facade::begin
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
ranges::contiguous_iterator_tag
Definition: traits.hpp:41
remove.hpp
meta::push_front
apply< bind_front< quote< list >, Ts... >, L > push_front
Return a new meta::list by adding the element T to the front of L.
Definition: meta.hpp:1706
ranges::pipeable_access::impl
Definition: pipeable.hpp:65
ranges::remove_if
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
ranges::views::keys_fn
Definition: map.hpp:91
meta::and_
_t< detail::_and_< Bs... > > and_
Logically AND together all the integral constant-wrapped Boolean parameters, with short-circuiting.
Definition: meta.hpp:1078
ranges::basic_view
Definition: range_fwd.hpp:415
inplace_merge.hpp
ranges::views::cpp20_filter_base_fn
Given a source range and a unary predicate, present a view of the elements that satisfy the predicate...
Definition: filter.hpp:50
ranges::chunk_view
Definition: chunk.hpp:532
ranges::view_interface::operator<<
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
concepts.hpp
concepts.hpp
ranges::push_heap
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
ranges::lower_bound
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
ranges::equal_to
Definition: comparisons.hpp:26
ranges::indirected
Definition: indirect.hpp:28
meta::defer
A wrapper that defers the instantiation of a template C with type parameters Ts in a lambda or let ex...
Definition: meta.hpp:619
meta::lazy::uncurry
defer< uncurry, Fn > uncurry
Definition: meta.hpp:852
ranges::search_n
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
ranges::inplace_merge
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
meta::negate
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
ranges::is_partitioned
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
ranges::sort
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
unique_copy.hpp
remove_copy.hpp
ranges::partition
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
equal_range.hpp
min.hpp
meta::lazy::filter
defer< filter, L, Fn > filter
Definition: meta.hpp:2280
ranges::actions::stride_fn
Definition: stride.hpp:28
meta::lazy::transpose
defer< transpose, ListOfLists > transpose
Definition: meta.hpp:2338
ranges::iter_transform2_view
Definition: transform.hpp:172
ranges::starts_with
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
ranges::counted_view
Definition: range_fwd.hpp:494
stride.hpp
ranges::logical_negate
Definition: not_fn.hpp:28
ranges::views::cpp20_filter_fn
Definition: filter.hpp:64
min_element.hpp
remove_if.hpp
range_for.hpp
conversion.hpp
meta::bind_back
An invocable that partially applies the invocable Fn by binding the arguments Us to the back of Fn.
Definition: meta.hpp:770
group_by.hpp
ranges::max
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
ranges::find_end
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
meta::on_
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
meta::if_
_t< detail::_if_< Args... > > if_
Select one type or another depending on a compile-time Boolean.
Definition: meta.hpp:976
operations.hpp
ranges::views::iter_take_while_fn
Definition: take_while.hpp:115
meta::inc
std::integral_constant< decltype(T::type::value+1), T::type::value+1 > inc
An integral constant wrapper around the result of incrementing the wrapped integer T::type::value.
Definition: meta.hpp:173
ranges::bind_back_fn
Definition: bind_back.hpp:165
split_when.hpp
common_ref_tuple_like
push_front.hpp
ref.hpp
meta::count
_t< detail::count_< L, T > > count
Count the number of times a type T appears in the list L.
Definition: meta.hpp:2208
meta::lazy::not_fn
defer< not_fn, Fn > not_fn
Definition: meta.hpp:2455
slice.hpp
find_if_not.hpp
copy_backward.hpp
shuffle.hpp
meta::detail::_nullptr_v
constexpr T * _nullptr_v()
Returns a T nullptr.
Definition: meta.hpp:109
basic_iterator.hpp
ranges::push_back_fn
Definition: push_back.hpp:73
ranges::partial_sort
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
meta::lazy::front
defer< front, L > front
Definition: meta.hpp:1663
ranges::is_heap_until
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
meta::quote_i
Turn a template C taking literals of type T into a invocable.
Definition: meta.hpp:733
ranges::find_if_not
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
ranges::partial_sum_fn
Definition: partial_sum.hpp:69
meta::lazy::find_index
defer< find_index, L, T > find_index
Definition: meta.hpp:1908
ranges::iterator_range
Definition: range_fwd.hpp:454
semiregular_box_t< Pred >
ranges::views::trim_fn
Definition: trim.hpp:133
ranges::iter_size
constexpr iter_size_fn iter_size
Definition: operations.hpp:407
meta::lazy::bind_front
defer< bind_front, Fn, Ts... > bind_front
Definition: meta.hpp:780
count_if.hpp
meta::is_trait
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
ranges::views::ints_fn
Definition: iota.hpp:529
ranges::make_common_tuple_fn
Definition: common_tuple.hpp:265
ranges::views::exclusive_scan_base_fn
Definition: exclusive_scan.hpp:167
ranges::closed_iota_view
An iota view in a closed range.
Definition: range_fwd.hpp:558
ranges::move
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
chunk.hpp
upper_bound.hpp
ranges::make_pipeable_fn
Definition: pipeable.hpp:41
on.hpp
ranges::copy
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
ranges::ostreambuf_iterator
Definition: stream_iterators.hpp:152
ranges::bad_any_cast
Definition: any.hpp:40
meta::lazy::let
defer< let, As... > let
Definition: meta.hpp:3106
ranges::front_inserter_fn
Definition: insert_iterators.hpp:112
minmax_element.hpp
ranges::views::for_each_base_fn
Lazily applies an unary function to each element in the source range that returns another range (poss...
Definition: for_each.hpp:34
partial_sort.hpp
adjacent_remove_if.hpp
ranges::move_into
constexpr move_into_fn move_into
Definition: move_iterators.hpp:442
heap_algorithm.hpp
meta::if_c
_t< detail::_if_< bool_< If >, Args... > > if_c
Select one type or another depending on a compile-time Boolean.
Definition: meta.hpp:981
all_of.hpp
iter_swap
constexpr _iter_swap_::fn iter_swap
Definition: access.hpp:236
ranges::actions::shuffle_fn
Definition: shuffle.hpp:28
std_iterator_traits
meta::is_trait_v
constexpr bool is_trait_v
true if T::type exists and names a type; false otherwise.
Definition: meta.hpp:554
ranges::front_inserter
constexpr front_inserter_fn front_inserter
Definition: insert_iterators.hpp:121
move.hpp
ranges::static_const::value
static constexpr T value
Definition: static_const.hpp:24
meta::dec
std::integral_constant< decltype(T::type::value - 1), T::type::value - 1 > dec
An integral constant wrapper around the result of decrementing the wrapped integer T::type::value.
Definition: meta.hpp:178
ranges::front_fn
Definition: operations.hpp:115
operations.hpp
ranges::views::cpp20_common_fn
Definition: common.hpp:154
facade.hpp
ranges::stride_view
Definition: range_fwd.hpp:650
count.hpp
ranges::includes
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
meta::list
A list of types.
Definition: meta.hpp:1301
meta::lazy::push_front
defer< push_front, Ts... > push_front
Definition: meta.hpp:1713
ranges::remove_if
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
ranges::all_of
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
meta::not_c
bool_<!B > not_c
Logically negate the Boolean parameter.
Definition: meta.hpp:1048
ranges::not_fn
constexpr not_fn_fn not_fn
Definition: not_fn.hpp:86
ranges::in_place_t
Definition: in_place.hpp:25
ranges::actions::unstable_remove_if_fn
Definition: unstable_remove_if.hpp:29
ranges::views::linear_distribute_fn
Distributes n values linearly in the closed interval [from, to].
Definition: linear_distribute.hpp:138
ranges::join_with_view
Definition: range_fwd.hpp:570
ranges::views::adjacent_remove_if_base_fn
Definition: adjacent_remove_if.hpp:162
drop.hpp
ranges::make_heap
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
ranges::make_ostream_joiner
constexpr make_ostream_joiner_fn make_ostream_joiner
Definition: stream_iterators.hpp:148
ranges::variant< I, S >
ranges::copy_tag
Definition: range_fwd.hpp:359
meta::find
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
meta::lazy::zip_with
defer< zip_with, Fn, ListOfLists > zip_with
Definition: meta.hpp:2357
ranges::minus
Definition: arithmetic.hpp:34
ranges::on_fn
Definition: on.hpp:55
copy.hpp
ranges::views::reverse_fn
Definition: reverse.hpp:142
ranges::next_fn
Definition: operations.hpp:175
meta::lazy::fold
defer< fold, L, State, Fn > fold
Definition: meta.hpp:1229
ranges::upper_bound
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
meta::conditional_t
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
meta::lazy::on
defer< on, Fn, G > on
Definition: meta.hpp:913
repeat_n.hpp
ranges::lexicographical_compare
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
ranges::forward_range_tag
Definition: concepts.hpp:208
meta::reverse
_t< detail::reverse_< L > > reverse
Return a new meta::list by reversing the elements in the list L.
Definition: meta.hpp:2435
ranges::getlines_view
Definition: getlines.hpp:27
ranges::views::addressof_fn
Definition: addressof.hpp:29
meta::lazy::zip
defer< zip, ListOfLists > zip
Definition: meta.hpp:2376
ranges::less
Definition: comparisons.hpp:50
meta::size
meta::size_t< L::size()> size
An integral constant wrapper that is the size of the meta::list L.
Definition: meta.hpp:1313
ranges::actions::drop_while_fn
Definition: drop_while.hpp:28
view.hpp
ranges::swap_ranges
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
meta::bool_
std::integral_constant< bool, B > bool_
An integral constant wrapper for bool.
Definition: meta.hpp:156
ranges::input_range_tag
Definition: concepts.hpp:206
Pipeable
ranges::cartesian_product_view
Definition: cartesian_product.hpp:117
ranges::views::tail_fn
Definition: tail.hpp:115
ranges::views::drop_last_base_fn
Definition: drop_last.hpp:364
meta::and_c
bool_< and_v< Bs... > > and_c
Logically AND together all the Boolean parameters.
Definition: meta.hpp:1063
ranges::views::take_exactly_base_fn
Definition: take_exactly.hpp:157
meta::lazy::reverse
defer< reverse, L > reverse
Definition: meta.hpp:2442
ranges::indirectly_readable_traits
Definition: range_fwd.hpp:151
concepts::return_t_
Definition: concepts.hpp:228
ranges::actions::remove_if_fn
Definition: remove_if.hpp:31
std::common_type
Definition: common_tuple.hpp:669
ranges::for_each
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
ranges::binary_search
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
contains.hpp
ranges::iterator_wrapper
Definition: memory.hpp:171
adjacent_filter.hpp
ranges::pipeable_base
Definition: pipeable.hpp:71
ends_with.hpp
ranges::adaptor_base
Definition: adaptor.hpp:99
ranges::views::trim_base_fn
Definition: trim.hpp:90
meta::inherit
meta::_t< detail::inherit_< L > > inherit
A type that inherits from all the types in the list.
Definition: meta.hpp:2553
ranges::raw_storage_iterator
Definition: memory.hpp:106
ranges::is_sorted_until
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
ranges::zip_with_view
Definition: range_fwd.hpp:770
split.hpp
range.hpp
ranges::ref_fn::operator()
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
ranges::none_of
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
ranges::remove_copy
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
meta::less_equal
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
ranges::shuffle
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
ranges::index
constexpr index_fn index
Unchecked indexed range access.
Definition: operations.hpp:93
enumerate.hpp
ranges::partition_copy
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
adjacent_find.hpp
meta::lazy::min
defer< min, Ts... > min
Definition: meta.hpp:1801
meta::is_callable_v
constexpr bool is_callable_v
true if T::invoke exists and names a class template; false otherwise.
Definition: meta.hpp:559
ranges::ref_fn
Definition: reference_wrapper.hpp:112
ranges::move_iterator
Definition: move_iterators.hpp:27
max_element.hpp
tuple_element
ranges::aux::copy_fn::operator|
constexpr friend auto operator|(T &&t, copy_fn) -> detail::decay_t< T > requires ` constructible_from< detail::decay_t< T >, T >
Definition: copy.hpp:41
accumulate.hpp
sort.hpp
functional.hpp
ranges::make_ostream_joiner_fn
Definition: stream_iterators.hpp:136
meta::reverse_find
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
take_while.hpp
partial_sum.hpp
ranges::tuple_apply_fn
Definition: tuple_algorithm.hpp:32
concepts::common_type
Users should specialize this to hook the common_with concept until std gets a SFINAE-friendly std::co...
Definition: type_traits.hpp:197
meta::lazy::back
defer< back, L > back
Definition: meta.hpp:1696
ranges::stable_sort
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
meta::apply
_t< extension::apply< Fn, L > > apply
Applies the invocable Fn using the types in the type list L as arguments.
Definition: meta.hpp:821
meta::zip
transpose< ListOfLists > zip
Given a list of lists of types ListOfLists, construct a new list by grouping the elements from the li...
Definition: meta.hpp:2369
ranges::generate_view
Definition: generate.hpp:29
join.hpp
iota.hpp
meta::equal_to
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
ranges::inserter_fn
Definition: insert_iterators.hpp:163
trim.hpp
ranges::drop_exactly_view
Definition: drop_exactly.hpp:33
meta::pair
list< F, S > pair
A list with exactly two elements.
Definition: meta.hpp:1832
ranges::optional
Definition: optional.hpp:25
meta::size_t
std::integral_constant< std::size_t, N > size_t
An integral constant wrapper for std::size_t.
Definition: meta.hpp:151
ranges::compose
constexpr compose_fn compose
Definition: compose.hpp:92
sliding.hpp
ranges::view_facade
A utility for constructing a view from a (derived) type that implements begin and end cursors.
Definition: range_fwd.hpp:418
ranges::find_first_of
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
ranges::sentinel_tag
Definition: concepts.hpp:636
all.hpp
auto
copy_n.hpp
ranges::actions::action_closure_base
Definition: action.hpp:60
ranges::iter_transform_view
Definition: range_fwd.hpp:706
drop_exactly.hpp
ranges::views::take_last_base_fn
Definition: take_last.hpp:30
concat.hpp
ranges::exclusive_scan_view
Definition: exclusive_scan.hpp:41
meta::flip
An invocable that reverses the order of the first two arguments.
Definition: meta.hpp:859
copy.hpp
meta.hpp
ranges::replace_copy_if
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
meta::not_fn
compose< quote< not_ >, Fn > not_fn
Logically negate the result of invocable Fn.
Definition: meta.hpp:2448
ranges::actions::stable_sort_fn
Definition: stable_sort.hpp:28
ranges::views::drop_exactly_base_fn
Definition: drop_exactly.hpp:131
ranges::set_symmetric_difference
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
ranges::adjacent_find
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
ranges::min_element
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
meta::lazy::equal_to
defer< equal_to, T, U > equal_to
Definition: meta.hpp:329
meta::lazy::or_
defer< or_, Bs... > or_
Definition: meta.hpp:1125
ranges::concat_view
Definition: range_fwd.hpp:578
ranges::view_facade< iter_transform2_view< Rng1, Rng2, Fun >, detail::transform2_cardinality(range_cardinality< Rng1 >::value, range_cardinality< Rng2 >::value)>::end
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
ranges::views::drop_base_fn
Definition: drop.hpp:137
ranges::greater
Definition: comparisons.hpp:86
search.hpp
ranges::actions::adjacent_remove_if_fn
Definition: adjacent_remove_if.hpp:29
partition_point.hpp
ranges::incrementable_traits
Definition: range_fwd.hpp:158
range_fwd.hpp
meta::min_
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
ranges::unreachable_sentinel_t
Definition: unreachable_sentinel.hpp:25
ranges::dangling
Definition: dangling.hpp:29
ranges::actions::sort_fn
Definition: sort.hpp:28
ranges::advance_fn
Definition: operations.hpp:33
ranges::find_if
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
meta::lazy::pop_front
defer< pop_front, L > pop_front
Definition: meta.hpp:1747
ranges::drop_view
Definition: drop.hpp:33
reverse_iterator.hpp
meta::back
_t< detail::back_< L > > back
Return the last element in meta::list L.
Definition: meta.hpp:1689
meta::pop_front
_t< detail::pop_front_< L > > pop_front
Return a new meta::list by removing the first element from the front of L.
Definition: meta.hpp:1740
ranges::group_by_view
Definition: range_fwd.hpp:537
reverse.hpp
ranges::remove_copy_if
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
ranges::default_sentinel_t
Definition: default_sentinel.hpp:24
invoke.hpp
ranges::reverse_copy
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
tuple_algorithm.hpp
ranges::greater_equal
Definition: comparisons.hpp:74
adjacent_difference.hpp
iota.hpp
ranges::make_common_pair
constexpr make_common_pair_fn make_common_pair
Definition: common_tuple.hpp:499
ranges::coerce
Definition: arithmetic.hpp:77
common_type_tuple_like
meta::curry
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
meta::reverse_find_index
_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
ranges::generate_n
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
meta::zip_with
transform< transpose< ListOfLists >, uncurry< Fn > > zip_with
Given a list of lists of types ListOfLists and an invocable Fn, construct a new list by calling Fn wi...
Definition: meta.hpp:2350
replace_if.hpp
ranges::merge
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
ranges::minmax
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
meta::lazy::push_back
defer< push_back, Ts... > push_back
Definition: meta.hpp:1766
remove_if.hpp
meta::lazy::any_of
defer< any_of, L, Fn > any_of
Definition: meta.hpp:2491
ranges::views::cycle_fn::operator()
requires viewable_range< Rng > &&forward_range< Rng > cycled_view< all_t< Rng > > operator()(Rng &&rng) const
Definition: cycle.hpp:258
ranges::views::slice_base_fn
Definition: slice.hpp:198
meta::modulus
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
meta::greater_equal
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
meta::is_v
constexpr bool is_v
is_v Test whether a type T is an instantiation of class template C.
Definition: meta_fwd.hpp:57
ranges::take_while_view
Definition: range_fwd.hpp:689
ranges::lower_bound
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
take.hpp
ranges::mismatch
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
ranges::size
constexpr _size_::fn size
Definition: primitives.hpp:149
ranges::actions::take_while_fn
Definition: take_while.hpp:28
traits.hpp
ranges::semiregular_box
Definition: semiregular_box.hpp:59
indices.hpp
tail.hpp
set_algorithm.hpp
ranges::views::move_fn
Definition: move.hpp:109
compressed_pair.hpp
max.hpp
drop.hpp
ranges::view_facade< cartesian_product_view< Views... >, detail::cartesian_product_cardinality< Views... >::value >::begin
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
ranges::iter_zip_with_view
Definition: range_fwd.hpp:767
meta::_v
constexpr T::type::value_type _v
Variable alias for T::type::value.
Definition: meta.hpp:136
ranges::minmax_element
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
ranges::enumerate
constexpr enumerate_fn enumerate
Definition: operations.hpp:487
stable_sort.hpp
meta::quote
Turn a template C into an invocable.
Definition: meta.hpp:721
ranges::static_const
Definition: static_const.hpp:23
ranges::back_insert_iterator
Definition: insert_iterators.hpp:27
ranges::common_comparison_category
Definition: compare.hpp:29
meta::lazy::join
defer< join, ListOfLists > join
Definition: meta.hpp:1410
ranges::views::intersperse_base_fn
Definition: intersperse.hpp:219
ranges::partial_sum_view
Definition: range_fwd.hpp:586
ranges::at_fn::operator()
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
ranges::views::cpp20_counted_fn
Definition: counted.hpp:73
meta::id
A trait that always returns its argument T. It is also an invocable that always returns T.
Definition: meta.hpp:515
indirect.hpp
std::basic_common_reference
Definition: common_tuple.hpp:711
ranges::copy_if
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
concepts.hpp
stride.hpp
concepts::detail::ignore
Definition: concepts.hpp:239
concepts::is_swappable
Definition: swap.hpp:43
ranges::split_when_view
Definition: split_when.hpp:32
ranges::move_tag
Definition: range_fwd.hpp:361
remove_if.hpp
is_partitioned.hpp
ranges::random_access_range_tag
Definition: concepts.hpp:212
ranges::partial_sort_copy
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
ranges::indirect_fn
Definition: indirect.hpp:84
meta::is
bool_< is_v< T, C > > is
is Test whether a type T is an instantiation of class template C.
Definition: meta.hpp:684
ranges::upper_bound
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
ranges::adjacent_remove_if
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
meta::second
front< pop_front< Pair > > second
Retrieve the first element of the pair Pair.
Definition: meta.hpp:1842
ranges::yield_from_fn
Definition: for_each.hpp:75
ranges::pipeable_access
Definition: pipeable.hpp:62
meta::first
front< Pair > first
Retrieve the first element of the pair Pair.
Definition: meta.hpp:1837
range_difference_t< Rng >
ranges::views::remove_base_fn
Definition: remove.hpp:31
for_each_n.hpp
ranges::unwrap_reference
constexpr unwrap_reference_fn unwrap_reference
Definition: reference_wrapper.hpp:171
meta::quote_trait
compose< quote< _t >, quote< C > > quote_trait
Turn a trait template C into an invocable.
Definition: meta.hpp:746
traits.hpp
generate_n.hpp
ranges::drop_while_view
Definition: drop_while.hpp:31
concepts::detail::tag
Definition: concepts.hpp:251
ranges::rotate_copy
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
meta::vararg
detail::vararg_< T > vararg
For defining variadic placeholders.
Definition: meta.hpp:3047
ranges::overloaded
Definition: overload.hpp:54
ranges::view_interface
Definition: range_fwd.hpp:448
replace_copy_if.hpp
access.hpp
ranges::compressed_pair
Definition: range_fwd.hpp:439
meta::lazy::accumulate
defer< accumulate, L, State, Fn > accumulate
Definition: meta.hpp:1234
ranges::views::adjacent_filter_fn
Definition: adjacent_filter.hpp:169
ranges::take_view
Definition: range_fwd.hpp:658
meta::lazy::concat
defer< concat, Lists... > concat
Definition: meta.hpp:1392
ranges::fill_n
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
ranges::is_heap
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
ranges::min
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
ranges::indirect_view
Definition: range_fwd.hpp:545
empty.hpp
pipeable.hpp
ranges::empty
constexpr _empty_::fn empty
Definition: primitives.hpp:314
inner_product.hpp
ranges::getlines_fn
Definition: getlines.hpp:93
find_end.hpp
meta_fwd.hpp
is_sorted.hpp
ranges::protect_fn::requires
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
ranges::find
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
ranges::split_view
Definition: split.hpp:460
meta
Tiny metaprogramming library.
Definition: meta.hpp:104
ranges::slice_view
Definition: range_fwd.hpp:626
partial_sum.hpp
concepts.hpp
ranges::filter_view
Definition: filter.hpp:27
meta::integer_range
_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
move.hpp
ranges::views::iter_transform_base_fn
Definition: transform.hpp:413
ranges::make_compressed_tuple
constexpr make_compressed_tuple_fn make_compressed_tuple
Definition: compressed_pair.hpp:111
fill_n.hpp
take.hpp
ranges::views::cache1_fn::operator()
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
cartesian_product.hpp
take_exactly.hpp
ranges::push_front_fn
Definition: push_front.hpp:73
concepts::detail::Nil
Definition: concepts.hpp:263
ranges::detail::bind_back_fn_
Definition: bind_back.hpp:32
meta::npos
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
ranges::actions::take_fn
Definition: take.hpp:28
move.hpp
ranges::insert_fn
Definition: insert.hpp:213
ranges::views::replace_if_base_fn
Definition: replace_if.hpp:115
ranges::replace_copy
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
adjacent_remove_if.hpp
ranges::back
constexpr back_fn back
Definition: operations.hpp:111
ranges::actions::slice_fn
Definition: slice.hpp:29
ranges::category
category
An enum that denotes the supported subset of range concepts supported by a range.
Definition: any_view.hpp:41
concepts::is_nothrow_swappable_with
Definition: swap.hpp:52
ranges::crbegin
constexpr _crbegin_::fn crbegin
Definition: access.hpp:675
interface.hpp
ranges::count
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
ranges::overload
constexpr overload_fn overload
Definition: overload.hpp:169
ranges::get_cursor
constexpr get_cursor_fn get_cursor
Definition: basic_iterator.hpp:902
sample.hpp
ranges::tuple_apply
constexpr tuple_apply_fn tuple_apply
Definition: tuple_algorithm.hpp:55
ranges::view_adaptor
Definition: range_fwd.hpp:422
offset_t< Const >
ranges::make_compressed_pair
constexpr make_compressed_pair_fn make_compressed_pair
Definition: compressed_pair.hpp:184
for_each.hpp
all_t< Rng >
ranges::adaptor_cursor
Definition: adaptor.hpp:93
meta::lazy::if_
defer< if_, Args... > if_
Definition: meta.hpp:987
ranges::end
constexpr _end_::fn end
Definition: access.hpp:332
ranges::end_tag
Definition: range_fwd.hpp:357
ranges::not_equal_to
Definition: comparisons.hpp:38
getlines.hpp
ranges::begin
constexpr _begin_::fn begin
Definition: access.hpp:175
ranges::sized_iterator_range
Definition: range_fwd.hpp:457
set_algorithm.hpp
ranges::begin_tag
Definition: range_fwd.hpp:355
ranges::protector
Definition: bind.hpp:68
shuffle.hpp
ranges::actions::split_fn
Definition: split.hpp:30
ranges::box
Definition: box.hpp:159
ranges::move_sentinel
Definition: move_iterators.hpp:232
ranges::partition_point
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
Derived
ranges::experimental::shared_view
Definition: shared.hpp:30
ranges::make_view_closure
constexpr make_view_closure_fn make_view_closure
Definition: view.hpp:86
ranges::repeat_n_view
Definition: repeat_n.hpp:36
ranges::make_action_closure
constexpr make_action_closure_fn make_action_closure
Definition: action.hpp:37
fill.hpp
ranges::views::for_each_fn
Definition: for_each.hpp:46
partition.hpp
meta::sort
_t< detail::sort_< L, Fn > > sort
Return a new meta::list that is sorted according to invocable predicate Fn.
Definition: meta.hpp:2716
unique
constexpr action_closure< unique_fn > unique
Definition: unique.hpp:53
meta::unique
fold< L, list<>, quote_trait< detail::insert_back_ > > unique
Return a new meta::list where all duplicate elements have been removed.
Definition: meta.hpp:2596
ranges::cdata
constexpr _cdata_::fn cdata
Definition: primitives.hpp:241
concepts::is_nothrow_swappable
Definition: swap.hpp:46
meta::drop
drop_c< L, N::type::value > drop
Return a new meta::list by removing the first N elements from L.
Definition: meta.hpp:1623
meta::find_if
_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
generate_n.hpp
ranges::bind_back
constexpr bind_back_fn bind_back
Definition: bind_back.hpp:181
meta::lazy::size
defer< size, L > size
Definition: meta.hpp:1320
meta::char_
std::integral_constant< char, Ch > char_
An integral constant wrapper for char.
Definition: meta.hpp:166
ranges::basic_iterator
Definition: basic_iterator.hpp:520
ranges::any_of
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
ranges::rend
constexpr _rend_::fn rend
Definition: access.hpp:654
ranges::sample_view
Definition: sample.hpp:72
arithmetic.hpp
meta::bind_front
An invocable that partially applies the invocable Fn by binding the arguments Ts to the front of Fn.
Definition: meta.hpp:760
ranges::partition_copy
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
ranges::at_fn
Checked indexed range access.
Definition: operations.hpp:29
ranges::on
constexpr on_fn on
Definition: on.hpp:65
ranges::accumulate_fn
Definition: accumulate.hpp:25
none_of.hpp
ranges::rbegin
constexpr _rbegin_::fn rbegin
Definition: access.hpp:516
ranges::views::set_difference_base_fn
Definition: set_algorithm.hpp:211
ranges::views::set_difference_fn
Definition: set_algorithm.hpp:229
single.hpp
meta::lazy::max
defer< max, Ts... > max
Definition: meta.hpp:1806
ranges::common_tuple
Definition: common_tuple.hpp:69
replace.hpp
ranges::views::delimit_base_fn
Definition: delimit.hpp:79
ranges::front_insert_iterator
Definition: insert_iterators.hpp:76
ranges::make_action_closure_fn
Definition: action.hpp:28
ranges::raw_buffer
Definition: memory.hpp:230
meta::id_t
_t< id< T > > id_t
An alias for type T. Useful in non-deduced contexts.
Definition: meta.hpp:526
ranges::views::const_fn
Definition: const.hpp:115
adaptor.hpp
meta::in
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
meta::compose_
Compose the Invocables Fns in the parameter pack Ts.
Definition: meta.hpp:689
ranges::lexicographical_compare
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
meta::lazy::reverse_find
defer< reverse_find, L, T > reverse_find
Definition: meta.hpp:2026
meta::lazy::replace
defer< replace, T, U > replace
Definition: meta.hpp:2146
ranges::views::ref_fn
Definition: ref.hpp:91
ranges::reverse_view
Definition: range_fwd.hpp:618
meta::at_c
_t< detail::at_< L, N > > at_c
Return the N th element in the meta::list L.
Definition: meta.hpp:1548
ranges::views::indices_fn
Half-open range of indices: [from, to).
Definition: indices.hpp:29
exclusive_scan.hpp
ranges::search
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
ranges::distance
constexpr distance_fn distance
Definition: operations.hpp:524
in_place.hpp
ranges::prev_permutation
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
meta::lazy::invoke
defer< invoke, Fn, Args... > invoke
Definition: meta.hpp:506
common_tuple.hpp
core.hpp
reverse.hpp
ranges::views::filter_fn
Definition: filter.hpp:95
variant.hpp
overload.hpp
is_sorted_until.hpp
nth_element.hpp
ranges::move_backward
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
meta::less
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
ranges::actions::split_when_fn
Definition: split_when.hpp:30
ranges::actions::drop_fn
Definition: drop.hpp:28
ranges::views::exclusive_scan_fn
Definition: exclusive_scan.hpp:179
meta::any_of
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
ranges::invoke_result
Definition: invoke.hpp:167
meta::alignof_
meta::size_t< alignof(T)> alignof_
An alias that computes the alignment required for any instance of the type T.
Definition: meta.hpp:663
stable_partition.hpp
intersperse.hpp
ranges::prev_fn
Definition: operations.hpp:213
ranges::single_view
Definition: range_fwd.hpp:642
swap_ranges.hpp
find_first_of.hpp
ranges::adjacent_filter_view
Definition: range_fwd.hpp:465
ranges::views::cache1_fn
Definition: cache1.hpp:170
meta::not_
not_c< B::type::value > not_
Logically negate the integral constant-wrapped Boolean parameter.
Definition: meta.hpp:1053
meta::lazy::less
defer< less, T, U > less
Definition: meta.hpp:344
ranges::is_indirectly_movable
Definition: access.hpp:140
stream_iterators.hpp
reverse_copy.hpp
ranges::min_element
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
ranges::views::view_closure
Definition: range_fwd.hpp:133
semiregular_box.hpp
meta::lazy::all_of
defer< all_of, L, Fn > all_of
Definition: meta.hpp:2473
ranges::views::set_intersection_base_fn
Definition: set_algorithm.hpp:381
ranges::make_compressed_pair_fn
Definition: compressed_pair.hpp:170
meta::make_integer_sequence
_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
ranges::make_heap
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
ranges::copy_backward
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
search_n.hpp
sample.hpp
common_type.hpp
meta::repeat_n
repeat_n_c< N::type::value, T > repeat_n
Generate list<T,T,T...T> of size N arguments.
Definition: meta.hpp:1497
ranges::span
Definition: span.hpp:173
ranges::views::trim_bind_fn
Definition: trim.hpp:115
replace_if.hpp
ranges::iter_distance
constexpr iter_distance_fn iter_distance
Definition: operations.hpp:339
meta::or_v
constexpr bool or_v
Logically OR together all the Boolean parameters.
Definition: meta.hpp:1089
insert.hpp
ranges::views::sample_base_fn
Returns a random sample of a range of length size(range).
Definition: sample.hpp:243
compare.hpp
ranges::aux::move
constexpr move_fn move
Definition: move.hpp:48
ranges::empty_view
Definition: range_fwd.hpp:529
ranges::sliding_view
Definition: sliding.hpp:48
ranges::actions::stable_sort_fn::stable_sort
constexpr action_closure< stable_sort_fn > stable_sort
Definition: stable_sort.hpp:50
meta::minus
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
meta::repeat_n_c
_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
ranges::stable_partition
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
ranges::trim_view
Definition: range_fwd.hpp:730
meta::none_of
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
ranges::common_range_tag
Definition: concepts.hpp:240
action.hpp
ranges::adjacent_find
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
ranges::make_view_closure_fn
Definition: view.hpp:76
indirect.hpp
meta::strict_or_
or_c< Bs::type::value... > strict_or_
Logically OR together all the integral constant-wrapped Boolean parameters, without short-circuiting.
Definition: meta.hpp:1098
meta::lazy::transform
defer< transform, Args... > transform
Definition: meta.hpp:1461
meta::make_index_sequence
_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
ranges::set_union
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
ranges::front
constexpr front_fn front
Definition: operations.hpp:128
addressof.hpp
ranges::cbegin
constexpr _cbegin_::fn cbegin
Definition: access.hpp:353
ranges::is_indirectly_swappable
Definition: access.hpp:265
meta::lazy::compose
defer< compose, Fns... > compose
Definition: meta.hpp:714
any.hpp
mismatch.hpp
ranges::views::transform_base_fn
Definition: transform.hpp:486
take_last.hpp
meta::lazy::reverse_fold
defer< reverse_fold, L, State, Fn > reverse_fold
Definition: meta.hpp:1285
meta::drop_c
_t< detail::drop_< L, N > > drop_c
Return a new meta::list by removing the first N elements from L.
Definition: meta.hpp:1616
ranges::adjacent_remove_if_view
Definition: range_fwd.hpp:473
ranges::range_cardinality
Definition: traits.hpp:120
ranges::views::cpp20_join_fn
Definition: join.hpp:525
ranges::view_facade::end
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
span.hpp
ranges::views::iter_transform_fn
Definition: transform.hpp:442
merge.hpp
access.hpp
meta::nil_
An empty type.
Definition: meta.hpp:123
ranges::views::join_bind_fn
Definition: join.hpp:572
stable_sort.hpp
meta::requires
requires(sizeof...(Ts) > 0) using lambda
For creating anonymous Invocables.
ranges::yield_fn
Definition: for_each.hpp:61
replace.hpp
ranges::replace
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
ranges::view_interface::empty
constexpr auto empty() const noexcept -> bool requires `(detail::has_fixed_size_< Cardinality >) `
Test whether a range can be empty:
Definition: interface.hpp:142
ranges::multiplies
Definition: arithmetic.hpp:44
cache1.hpp
ranges::views::take_while_base_fn
Definition: take_while.hpp:127
ranges::advance
constexpr advance_fn advance
Definition: operations.hpp:173
numeric.hpp
unreachable_sentinel.hpp
utility.hpp
unique.hpp
ranges::common_pair
Definition: common_tuple.hpp:282
ranges::move_view
Definition: range_fwd.hpp:594
meta::bit_or
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
permutation.hpp
ranges::zip_view
Definition: range_fwd.hpp:773
split_when.hpp
meta::transform
_t< detail::transform_< Args... > > transform
Return a new meta::list constructed by transforming all the elements in L with the unary invocable Fn...
Definition: meta.hpp:1450
ranges::unbounded_view
Definition: range_fwd.hpp:738
ranges::distance_compare
constexpr distance_compare_fn distance_compare
Definition: operations.hpp:563
ranges::protect
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
meta::concat_
_t< detail::concat_< Ls... > > concat_
Concatenates several lists into a single list.
Definition: meta.hpp:1382
meta::max_
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
ranges::remove_if_view
Definition: remove_if.hpp:32
meta::join
apply< quote< concat >, ListOfLists > join
Joins a list of lists into a single list.
Definition: meta.hpp:1403
meta::lazy::replace_if
defer< replace_if, C, U > replace_if
Definition: meta.hpp:2183
ranges::any
Definition: any.hpp:68
ranges::ref
constexpr ref_fn ref
Definition: reference_wrapper.hpp:136
ranges::intersperse_view
Definition: intersperse.hpp:33
drop_while.hpp
ranges::drop_last_view
Definition: drop_last.hpp:120
ranges::pop_heap
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
meta::lazy::bind_back
defer< bind_back, Fn, Ts... > bind_back
Definition: meta.hpp:785
get.hpp
ranges::transformed
Definition: on.hpp:26
not_fn.hpp
concepts::is_swappable_with
Definition: swap.hpp:49
ranges::join_view
Definition: range_fwd.hpp:567
sort.hpp
push_back.hpp
ranges::iter_enumerate
constexpr iter_enumerate_fn iter_enumerate
Definition: operations.hpp:301
unstable_remove_if.hpp
ranges::cend
constexpr _cend_::fn cend
Definition: access.hpp:374
ranges::actions::action_closure
Definition: action.hpp:110
concepts
INTERNAL ONLY.
Definition: compare.hpp:27
ranges::bad_optional_access
Definition: optional.hpp:28
ranges::identity
Definition: identity.hpp:24
meta::lazy::cartesian_product
defer< cartesian_product, ListOfLists > cartesian_product
Definition: meta.hpp:3166
ranges::scope_exit
Definition: scope_exit.hpp:24
ranges::prev
constexpr prev_fn prev
Definition: operations.hpp:240
ranges::generate
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
meta::int_
std::integral_constant< int, I > int_
An integral constant wrapper for int.
Definition: meta.hpp:161
meta::lazy::in
defer< in, L, T > in
Definition: meta.hpp:2527
ranges::views::adjacent_filter_base_fn
Definition: adjacent_filter.hpp:157
copy_if.hpp
compose.hpp
ranges::view_
concept view_
View concepts below.
Definition: concepts.hpp:189
ranges::composed
Definition: compose.hpp:27
replace_copy.hpp
ranges::remove
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
tokenize.hpp
unstable_remove_if.hpp
optional.hpp