A flush on a basic_osyncstream does not flush immediately:
{
osyncstream bout(cout);
bout <<"Hello,"<<'\n'; / no flush
bout.emit(); / characters transferred; cout not flushed
bout <<"World!"<< endl; / flush noted; cout not flushed
bout.emit(); / characters transferred; cout flushed
bout <<"Greetings."<<'\n'; / no flush}/ characters transferred; cout not flushed