basic_waitable_timer template uses wait traits to allow
programs to customize
[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
(meaning never reached) or
Clock::min() (meaning always in the
past). As a result, computing the duration until timer expiry as
- Clock::now() may cause overflow. —end note]
For a type
Clock meeting the
(C++Std [time.clock.req]), a type
X meets the
requirements if it satisfies the requirements listed below.
In the table below,
t denotes a (possibly const) value of type
d denotes a (possibly const)
value of type
Table 33. WaitTraits requirements