#include <ozo/core/concept.h>
Completion token concept.
CompletionToken is an entity which determines how to continue with asynchronous operation result when the operation is complete. According to boost::asio::async_completion it defines the return value of an asynchronous function.
Assume we have an asynchronous IO function:
Then the result type of the function depends on CompletionToken, and CompletionToken - is any of these next entities:
void. In this case the equivalent function signature will be: boost::asio::use_future - to get a future on the asynchronous operation result. Asynchronous function in this case will return std::future<Connection>. In this case the equivalent function signature will be: boost::asio::yield_context - to use async operation with Boost.Coroutine. Asynchronous function in this case will return Connection. In this case the equivalent function signature will be: boost::asio::async_completion mechanism. Asynchronous function in this case will return a type is depends on boost::asio::async_completion::result.