79 InputIterator last_ia,
80 InputRandomAcessIterator x,
84 typedef typename std::iterator_traits<InputIterator>::value_type InputIterator2;
85 typedef typename std::iterator_traits<OutputIterator>::value_type
T;
86 InputIterator2 a = (*ia++);
87 while (ia != last_ia) {
89 InputIterator2 last_a = (*ia++);
91 sum += (*a).second * x[(*a).first];