Iros
 
Loading...
Searching...
No Matches
product.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace di::container {
8namespace detail {
10 template<concepts::InputIterator Iter, concepts::SentinelFor<Iter> Sent, typename T = meta::IteratorValue<Iter>>
12 constexpr auto operator()(Iter first, Sent last) const {
13 return container::fold_left(util::move(first), util::move(last), T(1), function::multiplies);
14 }
15
16 template<concepts::InputContainer Con, typename T = meta::ContainerValue<Con>>
18 requires { T(1); })
19 constexpr auto operator()(Con&& container) const {
21 }
22 };
23}
24
25constexpr inline auto product = detail::ProductFunction {};
26}
27
28namespace di {
30}
Definition indirectly_binary_left_foldable.h:18
Definition sequence.h:13
Definition sequence.h:12
constexpr auto product
Definition product.h:25
constexpr auto fold_left
Definition fold_left.h:24
constexpr auto end
Definition end.h:47
constexpr auto begin
Definition begin.h:44
constexpr auto multiplies
Definition multiplies.h:15
Definition zstring_parser.h:9