...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A read operation is an operation that reads data into
a mutable buffer sequence argument of a type meeting MutableBufferSequence
requirements. The mutable buffer sequence specifies memory where the data
should be placed. A read operation shall always fill a buffer in the sequence
completely before proceeding to the next.
A write operation is an operation that writes data from
a constant buffer sequence argument of a type meeting ConstBufferSequence
requirements. The constant buffer sequence specifies memory where the data
to be written is located. A write operation shall always write a buffer in
the sequence completely before proceeding to the next.
If a read or write operation is also an asynchronous operation, the operation shall maintain one or more copies of the buffer sequence until such time as the operation no longer requires access to the memory specified by the buffers in the sequence. The program shall ensure the memory remains valid until:
— the last copy of the buffer sequence is destroyed, or
— the completion handler for the asynchronous operation is invoked,
whichever comes first.