9#ifndef BOOST_CLBL_TRTS_FUNCTION_TYPE_HPP
10#define BOOST_CLBL_TRTS_FUNCTION_TYPE_HPP
14namespace boost {
namespace callable_traits {
28 cannot_determine_parameters_for_this_type>;
32 template<
typename T,
typename = std::false_type>
37 function_type_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 std::remove_cv< typename std::remove_reference< T >::type >::type shallow_decay
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< detail::shallow_decay< T > >::function_type, cannot_determine_parameters_for_this_type > function_type_t
function_type_t< T > type