function_3.hpp
Go to the documentation of this file.
149 struct function<Return (Args..., ...)
#define BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC
Definition: config.hpp:87
#define BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER
Definition: config.hpp:37
#define BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER
Definition: config.hpp:106
#define BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS
Definition: function.hpp:72
typename set_varargs_function_qualifiers_t< Flags, IsTransactionSafe, IsNoexcept, Ts... >::type set_varargs_function_qualifiers
Definition: set_function_qualifiers.hpp:116
std::uint32_t qualifier_flags
Definition: qualifier_flags.hpp:18
typename set_function_qualifiers_t< Flags, IsTransactionSafe, IsNoexcept, Ts... >::type set_function_qualifiers
Definition: set_function_qualifiers.hpp:110
set_qualifiers< qualifiers::ref_flags > remove_member_cv
Definition: function_3.hpp:241
Return(Args...,...) function_type
Definition: function_3.hpp:167
Return(Args...,...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE remove_noexcept
Definition: function_3.hpp:185
set_qualifiers< qualifiers::q_flags|volatile_ > add_member_volatile
Definition: function_3.hpp:227
set_varargs_function_qualifiers< Flags, is_transaction_safe::value, is_noexcept::value, Return, Args... > set_qualifiers
Definition: function_3.hpp:207
set_qualifiers< qualifiers::q_flags|const_ > add_member_const
Definition: function_3.hpp:225
set_qualifiers< qualifiers::q_flags|cv_ > add_member_cv
Definition: function_3.hpp:229
Container< Args... > expand_args
Definition: function_3.hpp:257
std::tuple< Args... > arg_types
Definition: function_3.hpp:160
Return(Args...,...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER BOOST_CLBL_TRTS_NOEXCEPT_SPEC add_transaction_safe
Definition: function_3.hpp:201
type add_varargs
Definition: function_3.hpp:179
set_qualifiers< collapse_flags< qualifiers::q_flags, rref_ >::value > add_member_rvalue_reference
Definition: function_3.hpp:223
BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE is_transaction_safe
Definition: function_3.hpp:192
std::true_type has_varargs
Definition: function_3.hpp:157
Return(BOOST_CLBL_TRTS_DEFAULT_VARARGS_CC U::*)(Args...,...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE BOOST_CLBL_TRTS_NOEXCEPT_SPEC apply_member_pointer
Definition: function_3.hpp:248
Return(Args...,...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_NOEXCEPT_SPEC remove_transaction_safe
Definition: function_3.hpp:196
default_callable_traits< dummy BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS > qualifiers
Definition: function_3.hpp:203
set_qualifiers< qualifiers::ref_flags|remove_volatile_flag< qualifiers::cv_flags >::value > remove_member_volatile
Definition: function_3.hpp:239
Return return_type
Definition: function_3.hpp:159
Return(Args...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE BOOST_CLBL_TRTS_NOEXCEPT_SPEC remove_varargs
Definition: function_3.hpp:177
function traits
Definition: function_3.hpp:158
set_qualifiers< collapse_flags< qualifiers::q_flags, lref_ >::value > add_member_lvalue_reference
Definition: function_3.hpp:220
Return(Args...,...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER add_noexcept
Definition: function_3.hpp:190
set_qualifiers< qualifiers::ref_flags|remove_const_flag< qualifiers::cv_flags >::value > remove_member_const
Definition: function_3.hpp:236
Return(Args...,...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE BOOST_CLBL_TRTS_NOEXCEPT_SPEC qualified_function_type
Definition: function_3.hpp:172
BOOST_CLBL_TRTS_IS_NOEXCEPT is_noexcept
Definition: function_3.hpp:181
set_qualifiers< qualifiers::cv_flags > remove_member_reference
Definition: function_3.hpp:233
Return(Args...,...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE BOOST_CLBL_TRTS_NOEXCEPT_SPEC type
Definition: function_3.hpp:165
std::false_type is_member_pointer
Definition: function_3.hpp:259
NewReturn(Args...,...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE BOOST_CLBL_TRTS_NOEXCEPT_SPEC apply_return
Definition: function_3.hpp:254
function traits
Definition: function_3.hpp:44
Container< Args... > expand_args
Definition: function_3.hpp:142
Return(Args...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_NOEXCEPT_SPEC remove_transaction_safe
Definition: function_3.hpp:85
arg_types non_invoke_arg_types
Definition: function_3.hpp:49
Return(Args...) function_type
Definition: function_3.hpp:56
Return(Args...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE BOOST_CLBL_TRTS_NOEXCEPT_SPECIFIER add_noexcept
Definition: function_3.hpp:79
set_qualifiers< qualifiers::ref_flags > remove_member_cv
Definition: function_3.hpp:130
Return(Args...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE BOOST_CLBL_TRTS_NOEXCEPT_SPEC qualified_function_type
Definition: function_3.hpp:61
set_qualifiers< qualifiers::q_flags|const_ > add_member_const
Definition: function_3.hpp:114
Return(Args...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE remove_noexcept
Definition: function_3.hpp:74
Return(Args...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_TRANSACTION_SAFE_SPECIFIER BOOST_CLBL_TRTS_NOEXCEPT_SPEC add_transaction_safe
Definition: function_3.hpp:90
set_qualifiers< qualifiers::q_flags|volatile_ > add_member_volatile
Definition: function_3.hpp:116
add_member_pointer< type, U > apply_member_pointer
Definition: function_3.hpp:133
std::false_type is_member_pointer
Definition: function_3.hpp:144
BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE is_transaction_safe
Definition: function_3.hpp:81
NewReturn(Args...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE BOOST_CLBL_TRTS_NOEXCEPT_SPEC apply_return
Definition: function_3.hpp:139
default_callable_traits< dummy BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS > qualifiers
Definition: function_3.hpp:92
set_qualifiers< qualifiers::q_flags|cv_ > add_member_cv
Definition: function_3.hpp:118
set_qualifiers< collapse_flags< qualifiers::q_flags, rref_ >::value > add_member_rvalue_reference
Definition: function_3.hpp:112
std::tuple< Args... > arg_types
Definition: function_3.hpp:48
Return return_type
Definition: function_3.hpp:46
type remove_varargs
Definition: function_3.hpp:63
set_qualifiers< qualifiers::ref_flags|remove_volatile_flag< qualifiers::cv_flags >::value > remove_member_volatile
Definition: function_3.hpp:128
set_qualifiers< qualifiers::ref_flags|remove_const_flag< qualifiers::cv_flags >::value > remove_member_const
Definition: function_3.hpp:125
Return(Args...,...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE BOOST_CLBL_TRTS_NOEXCEPT_SPEC add_varargs
Definition: function_3.hpp:68
set_function_qualifiers< Flags, is_transaction_safe::value, is_noexcept::value, Return, Args... > set_qualifiers
Definition: function_3.hpp:96
Return(Args...) BOOST_CLBL_TRTS_INCLUDE_QUALIFIERS BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE BOOST_CLBL_TRTS_NOEXCEPT_SPEC type
Definition: function_3.hpp:54
set_qualifiers< collapse_flags< qualifiers::q_flags, lref_ >::value > add_member_lvalue_reference
Definition: function_3.hpp:109
BOOST_CLBL_TRTS_IS_NOEXCEPT is_noexcept
Definition: function_3.hpp:70
set_qualifiers< qualifiers::cv_flags > remove_member_reference
Definition: function_3.hpp:122
#define BOOST_CLBL_TRTS_INCLUDE_TRANSACTION_SAFE
Definition: function.hpp:11
#define BOOST_CLBL_TRTS_IS_TRANSACTION_SAFE
Definition: function.hpp:12