9#ifndef BOOST_CLBL_TRTS_class_of_HPP
10#define BOOST_CLBL_TRTS_class_of_HPP
14namespace boost {
namespace callable_traits {
29 type_is_not_a_member_pointer>;
33 template<
typename T,
typename = std::false_type>
38 class_of_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< detail::shallow_decay< T > >::class_type, type_is_not_a_member_pointer > class_of_t