9 struct ProductFunction : function::pipeline::EnablePipeline {
10 template<concepts::InputIterator Iter, concepts::SentinelFor<Iter> Sent,
typename T = meta::IteratorValue<Iter>>
11 requires(concepts::IndirectlyBinaryLeftFoldable<function::Multiplies, T, Iter> &&
requires { T(1); })
12 constexpr auto operator()(Iter
first, Sent
last)
const {
16 template<concepts::InputContainer Con,
typename T = meta::ContainerValue<Con>>
17 requires(concepts::IndirectlyBinaryLeftFoldable<function::Multiplies, T, meta::ContainerIterator<Con>> &&
19 constexpr auto operator()(Con&& container)
const {
25constexpr inline auto product = detail::ProductFunction {};
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 product
Definition product.h:25
constexpr auto fold_left
Definition fold_left.h:24
constexpr auto end
Definition end.h:55
constexpr auto begin
Definition begin.h:52
constexpr auto multiplies
Definition multiplies.h:15
Definition any_storable.h:9