template class<E, T> basic_ostream<E, T>& endl(basic_ostream<E, T> os);
The manipulator calls os.put(os. widen('\n')), then calls os.flush(). It returns os.
os.
put
(os.
widen
('\n'))
flush
()
os