Asio Extensions
Additional functionality built on top of (Boost.)Asio
Core

Classes

class  asioext::cancellation_token_source
 Manager for cancellation_tokens. More...
 
class  asioext::cancellation_token
 Token to determine if an operation was cancelled. More...
 
class  asioext::composed_operation< Handler >
 Base class for composed operations. More...
 
class  asioext::basic_linear_buffer< Allocator >
 A dynamically sized contiguously stored buffer. More...
 
class  asioext::dynamic_linear_buffer< Allocator >
 Adapt a basic_linear_buffer to the DynamicBuffer requirements. More...
 

Typedefs

template<typename CompletionToken , typename Signature >
using asioext::async_result_t = typename async_result< typename std::decay< CompletionToken >::type, Signature >::return_type
 An initiating function's return type. More...
 
template<typename CompletionToken , typename Signature >
using asioext::completion_handler_t = typename async_result< typename std::decay< CompletionToken >::type, Signature >::completion_handler_type
 The real handler type to be used for the asynchronous operation. More...
 

Functions

template<typename Handler , typename... Args>
implementation_defined asioext::bind_handler (Handler &&handler, Args &&... args)
 Bind values to a Handler's arguments to create a CompletionHandler. More...
 
template<typename Allocator >
dynamic_linear_buffer< Allocator > asioext::dynamic_buffer (basic_linear_buffer< Allocator > &data) noexcept
 Create a new dynamic buffer that represents the given basic_linear_buffer. More...
 

Detailed Description

Core components and utilities.

Typedef Documentation

◆ async_result_t

template<typename CompletionToken , typename Signature >
using asioext::async_result_t = typedef typename async_result< typename std::decay<CompletionToken>::type, Signature >::return_type

An initiating function's return type.

This alias template refers to the async_result::return_type type for the specified CompletionToken and Signature.

◆ completion_handler_t

template<typename CompletionToken , typename Signature >
using asioext::completion_handler_t = typedef typename async_result< typename std::decay<CompletionToken>::type, Signature >::completion_handler_type

The real handler type to be used for the asynchronous operation.

This alias template refers to the async_result::completion_handler_type type for the specified CompletionToken and Signature.

Function Documentation

◆ bind_handler()

template<typename Handler , typename... Args>
implementation_defined asioext::bind_handler ( Handler &&  handler,
Args &&...  args 
)

Bind values to a Handler's arguments to create a CompletionHandler.

This helper function binds the given args to the Handler, returning a nullary function object that satisfies the requirements of a CompletionHandler.

The original handler's hooks and customization points are retained and will be used for the returned CompletionHandler as well.

Parameters
handlerThe Handler object you wish to bind values to.
argsThe arguments the handler should be invoked with. The values will be copied/moved and stored inside the returned function object.
Returns
A nullary function object that when called will invoke the original handler with the bound arguments.

◆ dynamic_buffer()

template<typename Allocator >
dynamic_linear_buffer<Allocator> asioext::dynamic_buffer ( basic_linear_buffer< Allocator > &  data)
inlinenoexcept

Create a new dynamic buffer that represents the given basic_linear_buffer.

Returns
dynamic_linear_buffer<Allocator>(data).