http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58038

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-07-31
     Ever confirmed|0                           |1

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
On second thoughts, <chrono> is doing everything as specified by the standard.

It seems unfortunate that we need this, but I don't immediately see any way
around it.  I think I'd prefer to do this than use SFINAE:

  template<typename _Clock, typename _Duration>
    inline void
    sleep_until(const chrono::time_point<_Clock, _Duration>& __atime)
    {
      auto __now = _Clock::now();
      // check if we should sleep till a time point in past
      if (std::is_unsigned<typename _Duration::rep>::value && __atime <= __now)
        return;
      sleep_for(__atime - __now);
    }

Reply via email to