...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A 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 timer service class for time type Time
and traits type TimeTraits
,
a
denotes a value of type
X
, b
denotes a value of type X::implementation_type
,
t
denotes a value of type
Time
, d
denotes a value of type TimeTraits::duration_type
,
e
denotes a value of type
error_code
, and h
denotes a value meeting WaitHandler
requirements.
Table 39. TimerService 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 |