Не печатать завершающий разделитель stream_iterator C++

Какой, по вашему мнению, самый элегантный способ вывода на std::coutс использованием std::ostream_iterator] в С++ 11 и не печатать завершающий разделитель?

Объект, который я печатаю, имеет двунаправленные итераторы, но не итераторы произвольного доступа.

std::list<double> x{1,2,3,4,5,6};
std::copy(x.begin(), std::prev(x.end()),
                std::ostream_iterator<int>(std::cout, ",") );
if ( x.size() != 0 )
  std::cout << *(--x.end()) << std::endl;
11
задан Jonathan Wakely 17 June 2012 в 22:17
поделиться