libcaf  0.13.2
Public Types | Public Member Functions | Static Public Attributes | List of all members
caf::advanced_match_case_impl< F, Tuple, Pattern, Projections > Class Template Reference

#include <match_case.hpp>

Inherits caf::advanced_match_case< F, Tuple >.

Public Types

using plain_result_type = typename detail::get_callable_trait< F >::result_type
 
using result_type = typename std::conditional< std::is_reference< plain_result_type >::value, plain_result_type, typename std::remove_const< plain_result_type >::type >::type
 
using optional_result_type = typename std::conditional< std::is_same< result_type, void >::value, optional< unit_t >, optional< result_type > >::type
 
using arg_types = Pattern
 
using fargs = typename detail::get_callable_trait< F >::arg_types
 
using super = advanced_match_case< F, Tuple >
 

Public Member Functions

 advanced_match_case_impl (advanced_match_case_impl &&)=default
 
 advanced_match_case_impl (const advanced_match_case_impl &)=default
 
 advanced_match_case_impl (bool has_wcard, uint32_t ttoken, F f, Projections ps)
 
bool prepare_invoke (message &msg, Tuple *out)
 

Static Public Attributes

static constexpr uint32_t static_type_token
 
static constexpr size_t fargs_size = detail::tl_size<fargs>::value
 

Detailed Description

template<class F, class Tuple, class Pattern, class Projections>
class caf::advanced_match_case_impl< F, Tuple, Pattern, Projections >

Template Parameters
FFunction or function object denoting the callback.
TupleType of the storage for intermediate results during matching.
PatternInput types for this match case.

Member Data Documentation

template<class F , class Tuple , class Pattern , class Projections >
constexpr uint32_t caf::advanced_match_case_impl< F, Tuple, Pattern, Projections >::static_type_token
static
Initial value:
=
detail::make_type_token_from_list<Pattern>()

The documentation for this class was generated from the following file: