9 struct LowerBoundFunction {
10 template<concepts::ForwardIterator It, concepts::SentinelFor<It> Sent,
typename T,
11 typename Proj = function::Identity,
12 concepts::IndirectStrictWeakOrder<T const*, meta::Projected<It, Proj>> Comp = function::Compare>
13 constexpr auto operator()(It first, Sent last, T
const& needle, Comp comp = {}, Proj
proj = {})
const -> It {
18 template<concepts::ForwardContainer Con,
typename T,
typename Proj = function::Identity,
19 concepts::IndirectStrictWeakOrder<T const*, meta::Projected<meta::ContainerIterator<Con>, Proj>> Comp =
21 constexpr auto operator()(Con&& container, T
const& needle, Comp comp = {}, Proj
proj = {})
const
29 friend struct EqualRangeFunction;
31 template<
typename It,
typename T,
typename Proj,
typename Comp,
33 constexpr static auto lower_bound_with_size(It first, T
const& needle, Comp comp, Proj
proj,
36 SSizeType left_length = n >> 1;
52constexpr inline auto lower_bound = detail::LowerBoundFunction {};
constexpr auto first(concepts::detail::ConstantVector auto &vector, size_t count)
Definition vector_first.h:13
constexpr auto next
Definition next.h:35
constexpr auto distance
Definition distance.h:44
constexpr auto lower_bound
Definition lower_bound.h:52
constexpr auto begin
Definition begin.h:52
constexpr auto invoke
Definition invoke.h:100
constexpr auto ref
Definition reference_wrapper.h:98
Definition any_storable.h:9
constexpr auto proj
Definition proj.h:59