...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 21. 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. |