The class transfer_exactly is a completion condition that is used to specify that a read or write operation should continue until an exact number of bytes has been transferred, or until an error occurs.
namespace std { namespace experimental { namespace net { inline namespace v1 { class transfer_exactly { public: explicit transfer_exactly(size_t e); size_t operator()(const error_code& ec, size_t n) const; private: size_t exact_; // exposition only }; } // inline namespace v1 } // namespace net } // namespace experimental } // namespace std
The class transfer_exactly satisfies the CompletionCondition ([buffer.stream.reqmts.completioncondition]) requirements.
explicit transfer_exactly(size_t e);
Postconditions: exact_ == e.
size_t operator()(const error_code& ec, size_t n) const;
Returns: If !ec && n < exact_, the result of min(exact_ - n, N), where N is an unspecified non-zero value. Otherwise 0.