15 Timers [timer]

15.3 Class template wait_traits [timer.waittraits]

namespace std {
namespace experimental {
namespace net {
inline namespace v1 {

  template<class Clock>
  struct wait_traits
  {
    static typename Clock::duration to_wait_duration(
      const typename Clock::duration& d);

    static typename Clock::duration to_wait_duration(
      const typename Clock::time_point& t);
  };

} // inline namespace v1
} // namespace net
} // namespace experimental
} // namespace std

Class template wait_traits satisfies the WaitTraits ([timer.reqmts.waittraits]) type requirements. Template argument Clock is a type meeting the Clock requirements (C++ 2014 [time.clock.req]).

static typename Clock::duration to_wait_duration( const typename Clock::duration& d);

Returns: d.

static typename Clock::duration to_wait_duration( const typename Clock::time_point& t);

Returns: Let now be Clock::now(). If now + Clock::duration::max() is before t, Clock::duration::max(); if now + Clock::duration::min() is after t, Clock::duration::min(); otherwise, t - now.