16 Buffers [buffer]

16.9 Function buffer_copy [buffer.copy]

template<class MutableBufferSequence, class ConstBufferSequence> size_t buffer_copy(const MutableBufferSequence& dest, const ConstBufferSequence& source) noexcept; template<class MutableBufferSequence, class ConstBufferSequence> size_t buffer_copy(const MutableBufferSequence& dest, const ConstBufferSequence& source, size_t max_size) noexcept;

Effects: Copies bytes from the buffer sequence source to the buffer sequence dest, as if by calls to memcpy.

The number of bytes copied is the lesser of:

  • buffer_size(dest);

  • buffer_size(source); and

  • max_size, if specified.

The mutable buffer sequence dest specifies memory where the data should be placed. The operation always fills a buffer in the sequence completely before proceeding to the next.

The constant buffer sequence source specifies memory where the data to be written is located. The operation always copies a buffer in the sequence completely before proceeding to the next.

Returns: The number of bytes copied from source to dest.