CppWAMP
C++11 client library for the WAMP protocol
anyhandler.hpp File Reference

Contains facilities for type-erasing asynchronous handlers. More...

#include <cassert>
#include <cstddef>
#include <memory>
#include <functional>
#include <utility>
#include <tuple>
#include <type_traits>
#include <boost/asio/associated_allocator.hpp>
#include <boost/asio/associated_cancellation_slot.hpp>
#include <boost/asio/associated_executor.hpp>
#include <boost/asio/cancellation_signal.hpp>
#include <boost/asio/defer.hpp>
#include <boost/asio/dispatch.hpp>
#include <boost/asio/post.hpp>
#include "bundled/boost_asio_any_completion_handler.hpp"

Go to the source code of this file.

Classes

class  wamp::AnyReusableHandler< TSignature >
 Type-erases a multi-shot, copyable callback handler. More...
 

Namespaces

 wamp
 

Typedefs

using wamp::AnyCompletionExecutor = boost::asio::any_completion_executor
 Type-erases an executor that is to be used with type-erased handlers.
 
template<typename TSignature >
using wamp::AnyCompletionHandler = boost::asio::any_completion_handler< TSignature >
 Type-erases a one-shot (and possibly move-only) asynchronous completion handler. More...
 

Functions

template<typename F , typename... Ts>
void wamp::dispatchAny (F &&handler, Ts &&... args)
 Dispatches the given handler using its associated executor, passing the given arguments.
 
template<typename F , typename E , typename... Ts>
void wamp::dispatchVia (const E &fallbackExec, F &&handler, Ts &&... args)
 Dispatches the given handler using the given fallback executor, passing the given arguments.
 
template<typename F , typename... Ts>
void wamp::postAny (F &&handler, Ts &&... args)
 Posts the given handler using its associated executor, passing the given arguments.
 
template<typename F , typename E , typename... Ts>
void wamp::postVia (const E &fallbackExec, F &&handler, Ts &&... args)
 Posts the given handler using the given fallback executor, passing the given arguments.
 
template<typename F , typename... Ts>
void wamp::deferAny (F &&handler, Ts &&... args)
 Defers the given handler using its associated executor, passing the given arguments.
 
template<typename F , typename E , typename... Ts>
void wamp::deferVia (const E &fallbackExec, F &&handler, Ts &&... args)
 Defers the given handler using the given fallback executor, passing the given arguments.
 

Detailed Description

Contains facilities for type-erasing asynchronous handlers.