![]() |
Home | Libraries | People | FAQ | More |
The basic_waitable_timer
template uses wait traits to allow programs to customize wait
and async_wait behavior.
[Note: Possible uses of wait traits include:
— To
enable timers based on non-realtime clocks.
— Determining how quickly
wallclock-based timers respond to system time changes.
— Correcting for
errors or rounding timeouts to boundaries.
— Preventing duration overflow.
That is, a program may set a timer's expiry e
to be Clock::max() (meaning
never reached) or Clock::min() (meaning
always in the past). As a result, computing the duration until timer expiry
as e -
Clock::now() may
cause overflow. —end note]
For a type Clock meeting
the Clock requirements (C++Std
[time.clock.req]), a type X
meets the WaitTraits requirements
if it satisfies the requirements listed below.
In the table below, t denotes
a (possibly const) value of type Clock::time_point;
and d denotes a (possibly
const) value of type Clock::duration.
Table 34. WaitTraits requirements
|
expression |
return type |
assertion/note |
|---|---|---|
|
|
|
Returns a |
|
|
|
Returns a |