15 struct FoldLeftFirstWithIterFunction {
16 template<concepts::InputIterator Iter, concepts::SentinelFor<Iter> Sent,
17 concepts::IndirectlyBinaryLeftFoldable<meta::IteratorValue<Iter>, Iter> Op>
19 constexpr auto operator()(Iter
first, Sent
last, Op op)
const {
21 using Res = InValueResult<Iter, Optional<R>>;
23 return Res(util::move(first),
nullopt);
30 return Res(util::move(first), util::move(result));
33 template<concepts::InputContainer Con,
36 constexpr auto operator()(Con&& container, Op op)
const -> InValueResult<
constexpr auto last(concepts::detail::ConstantVector auto &vector, size_t count)
Definition vector_last.h:13
constexpr auto first(concepts::detail::ConstantVector auto &vector, size_t count)
Definition vector_first.h:13
constexpr auto end
Definition end.h:55
constexpr auto fold_left_first_with_iter
Definition fold_left_first_with_iter.h:44
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 nullopt
Definition nullopt.h:15
constexpr auto in_place
Definition in_place.h:8