ostream_iterator has operator++ (nop), but no generic advance. I believe
advance should be defined:
namespace std {
template<class T, class charT, class traits, typename dist_t>
inline void advance (ostream_iterator<T,charT,traits>, dist_t) {}
};