### transfer_exactly

Return a completion condition function object that indicates that a read or write operation should continue until an exact number of bytes has been transferred, or until an error occurs.

    unspecified transfer_exactly(
        std::size_t size);

This function is used to create an object, of unspecified type, that meets CompletionCondition requirements.

##### Example

Reading until a buffer is full or contains exactly 64 bytes:

    boost::array<char, 128> buf;
    asio::error_code ec;
    std::size_t n = asio::read(
        sock, asio::buffer(buf),
        asio::transfer_exactly(64), ec);
    if (ec)
    {
      // An error occurred.
    }
    else
    {
      // n == 64
    }

##### Requirements

Header: `asio/completion_condition.hpp`

Convenience header: `asio.hpp`