title: Flush cout manually only
body: <p>As far as I know streaming <code>std::endl</code> into <code>std::cout</code> will flush it. I get that that behavior makes sense for most applications.</p>
  
  <p>My problem is that I have some output that uses multiple <code>std::endl</code>'s and therefore flushes the output. This is really bad for the performance of my program and also causes a lot of graphical glitches since I am jumping around quite a lot.</p>
  
  <p>So my question is if I can tell <code>std::cout</code> to wait with the next flush until I explicitly call <code>std::cout.flush()</code> or stream <code>std::flush</code> into <code>std::cout</code>.<br>
  If this is possible I'd also like to know how I then can reverse that since it does not always make sense for me.</p>