...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A waitable timer service must meet the requirements for an I/O object service, as well as the additional requirements listed below.
In the table below, X
denotes
a waitable timer service class for clock type Clock
,
where Clock
meets the C++11
clock type requirements, a
denotes a value of type X
,
b
denotes a value of type
X::implementation_type
, t
denotes a value of type Clock::time_point
,
d
denotes a value of type
Clock::duration
, e
denotes a value of type error_code
,
and h
denotes a value meeting
WaitHandler
requirements.
Table 40. WaitableTimerService requirements
expression |
return type |
assertion/note |
---|---|---|
|
From IoObjectService
requirements. Implicitly cancels asynchronous wait operations,
as if by calling |
|
a.cancel(b, e);
|
|
Causes any outstanding asynchronous wait operations to complete
as soon as possible. Handlers for cancelled operations shall be
passed the error code |
|
|
|
a.expires_at(b, t, e);
|
|
Implicitly cancels asynchronous wait operations, as if by calling
|
|
|
Returns a value equivalent to |
a.expires_from_now(b, d, e);
|
|
Equivalent to |
a.wait(b, e);
|
|
Sets |
a.async_wait(b, h);
|
Initiates an asynchronous wait operation that is performed via
the |