| 85 | |
| 86 | template <typename TCalculator, typename TIterator> |
| 87 | auto ApplyCalculator(TIterator begin, TIterator end, TCalculator && calc) -> decltype(calc.GetResult()) |
| 88 | { |
| 89 | for (; begin != end; ++begin) |
| 90 | calc(*begin); |
| 91 | return calc.GetResult(); |
| 92 | } |
| 93 | |
| 94 | template <typename TCalculator, typename TIterator> |
| 95 | auto SelectImplementation(TIterator begin, TIterator end, TCalculator && calc, std::true_type const &) |