14#ifndef RANGES_V3_ALGORITHM_AUX_PARTITION_POINT_N_HPP
15#define RANGES_V3_ALGORITHM_AUX_PARTITION_POINT_N_HPP
22#include <range/v3/utility/static_const.hpp>
24#include <range/v3/detail/prologue.hpp>
32 template(
typename I,
typename C,
typename P =
identity)(
35 constexpr I operator()(I
first,
36 iter_difference_t<I> d,
45 auto middle = next(uncounted(
first), half);
48 first = recounted(
first, std::move(++middle), half + 1);
63#include <range/v3/detail/epilogue.hpp>
The forward_iterator concept.
The indirect_unary_predicate concept.
RANGES_INLINE_VARIABLE(detail::to_container_fn< detail::from_range< std::vector > >, to_vector) template< template< typename... > class ContT > auto to(RANGES_HIDDEN_DETAIL(detail
For initializing a container of the specified type with the elements of an Range.
Definition: conversion.hpp:399
typename Fn::template invoke< Args... > invoke
Evaluate the invocable Fn with the arguments Args.
Definition: meta.hpp:541
front< Pair > first
Retrieve the first element of the pair Pair.
Definition: meta.hpp:2251
Definition: partition_point_n.hpp:31
Definition: identity.hpp:25