cpp/experimental/ostream joiner

is a single-pass that writes successive objects into the std object for which it was constructed, using, separated by a delimiter. The delimiter is written to the output stream between every two objects that are written. The write operation is performed when the iterator (whether dereferenced or not) is assigned to. Incrementing the is a no-op.

In a typical implementation, the only data members of are a pointer to the associated std, the delimiter, and a  member that indicates whether the next write is for the first element in the sequence.

Compared to std, prints the delimiter sequence one fewer time, and is not templated on the type of the object to be printed.