10#ifndef BOOST_CLBL_TRTS_REMOVE_TRANSACTION_SAFE_HPP
11#define BOOST_CLBL_TRTS_REMOVE_TRANSACTION_SAFE_HPP
15namespace boost {
namespace callable_traits {
33 cannot_remove_transaction_safe_from_this_type>;
37 template<
typename T,
typename = std::false_type>
42 remove_transaction_safe_t<T>, detail::dummy>::type>
sfinae_try< T, fail_when_same< U, invalid_type, ErrorType >, fail_when_same< U, reference_error, reference_type_not_supported_by_this_metafunction > > try_but_fail_if_invalid
typename BOOST_CLBL_TRTS_DISJUNCTION(function_object< unwrap_reference< T > >, function< T >, pmf< T >, pmd< T >, default_callable_traits< T >)::traits traits
detail::try_but_fail_if_invalid< typename detail::traits< T >::remove_transaction_safe, cannot_remove_transaction_safe_from_this_type > remove_transaction_safe_t
#define BOOST_CLBL_TRTS_SFINAE_MSG(origin, name)
#define BOOST_CLBL_TRTS_DEFINE_SFINAE_ERROR_ORIGIN(origin)
remove_transaction_safe_t< T > type