TrinityCore
Loading...
Searching...
No Matches
ExpectedCompletionHandler.h File Reference
#include <boost/asio/associated_executor.hpp>
#include <boost/asio/async_result.hpp>
#include <boost/asio/handler_continuation_hook.hpp>
#include <boost/outcome/result.hpp>
#include <boost/preprocessor/empty.hpp>
#include <boost/preprocessor/comma.hpp>
#include <type_traits>
+ Include dependency graph for ExpectedCompletionHandler.h:

Go to the source code of this file.

Classes

class  Trinity::Asio::AsExpected< CompletionToken >
 
struct  Trinity::Asio::AsExpected< CompletionToken >::executor_with_default< InnerExecutor >
 
struct  Trinity::Asio::AsExpectedFn
 
class  Trinity::Asio::Impl::AsExpectedHandler< Handler >
 
class  boost::asio::async_result< Trinity::Asio::AsExpected< CompletionToken >, Signature >
 
struct  boost::asio::async_result< Trinity::Asio::AsExpected< CompletionToken >, Signature >::init_wrapper< Initiation >
 

Namespaces

namespace  Trinity
 
namespace  Trinity::Asio
 
namespace  Trinity::Asio::Impl
 
namespace  boost
 
namespace  boost::asio
 

Concepts

concept  Trinity::Asio::Impl::CompletionTokenError
 

Macros

#define STAMP_AS_EXPECTED_SIGNATURE(qualifier)
 

Functions

template<typename Handler >
bool Trinity::Asio::Impl::asio_handler_is_continuation (AsExpectedHandler< Handler > *this_handler)
 
 Trinity::Asio::Impl::STAMP_AS_EXPECTED_SIGNATURE (BOOST_PP_EMPTY())
 
STAMP_AS_EXPECTED_SIGNATURE & Trinity::Asio::Impl::STAMP_AS_EXPECTED_SIGNATURE (&&);STAMP_AS_EXPECTED_SIGNATURE(noexcept
 

Variables

constexpr AsExpectedFn Trinity::Asio::as_expected
 
STAMP_AS_EXPECTED_SIGNATURETrinity::Asio::Impl::noexcept
 

Macro Definition Documentation

◆ STAMP_AS_EXPECTED_SIGNATURE

#define STAMP_AS_EXPECTED_SIGNATURE (   qualifier)
Value:
template <typename R, CompletionTokenError Error> \
struct AsExpectedSignature<R(Error) qualifier> \
{ \
using type = R(boost::outcome_v2::result<void, std::remove_cvref_t<Error>>) qualifier; \
}; \
template <typename R, CompletionTokenError Error, typename Arg> \
struct AsExpectedSignature<R(Error, Arg) qualifier> \
{ \
using type = R(boost::outcome_v2::result<std::decay_t<Arg>, std::remove_cvref_t<Error>>) qualifier; \
}; \
template <typename R, CompletionTokenError Error, typename Arg, typename... Args> \
struct AsExpectedSignature<R(Error, Arg, Args...) qualifier> \
{ \
using type = R(boost::outcome_v2::result<std::tuple<std::decay_t<Arg>, std::decay_t<Args>...>, std::remove_cvref_t<Error>>) qualifier; \
};

Definition at line 175 of file ExpectedCompletionHandler.h.