![]() |
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 32. WaitTraits requirements
|
expression |
return type |
assertion/note |
|---|---|---|
|
|
|
Returns a |
|
|
|
Returns a |