const T&amp; r) {return l &gt; r ? l : r;}
  template&lt;typename T&gt; const T&amp; minimum(const T&amp; l, const T&amp; r) {return l &lt; r ? l : r;}
}

////////////////////////////////////////////////////////////////////////////////
// problems with missing functions
////////////////////////////////////////////////////////////////////////////////

#ifdef MSWINDOWS
unsigned sleep(unsigned seconds);
#else
#include &lt;unistd.h&gt;
#endif

////////////////////////////////////////////////////////////////////