| 449 | |
| 450 | template <typename It, typename Val> |
| 451 | constexpr Val Accumulate(It begin, It end, Val val) { |
| 452 | // std::move since C++20 |
| 453 | return std::accumulate(begin, end, std::move(val)); |
| 454 | } |
| 455 | |
| 456 | template <typename It, typename Val, typename BinOp> |
| 457 | constexpr Val Accumulate(It begin, It end, Val val, BinOp binOp) { |