3 template <class InputIterator, class BinaryOperation>
4 void accumulate(InputIterator first,
5 BinaryOperation binary_op) {
9 template<class R> int p( int val, R& r )
14 template<class R> void f(R)
16 accumulate(0, static_cast<int (*)(int, R&)>(p) );