![]()  | 
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 23. 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.  |