...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
An I/O object service must meet the requirements for a service, as well as the requirements listed below.
In the table below, X
denotes
an I/O object service class, a
and ao
denote values of type
X
, b
and c
denote values of type
X::implementation_type
, and u
denotes an identifier.
Table 24. IoObjectService requirements
expression |
return type |
assertion/note |
---|---|---|
|
||
|
note: |
|
a.construct(b); |
||
a.destroy(b); |
note: |
|
a.move_construct(b, c); |
note: only required for I/O objects that support movability. |
|
a.move_assign(b, ao, c); |
note: only required for I/O objects that support movability. |