| Defined in header <type_traits> | ||
|---|---|---|
| template< class T > struct is_member_function_pointer; | (since C++11) | 
Checks whether T is a non-static member function pointer. Provides the member constant value which is equal to true, if T is a non-static member function pointer type. Otherwise, value is equal to false.
The behavior of a program that adds specializations for is_member_function_pointer or is_member_function_pointer_v (since C++17) is undefined.
| T | - | a type to check | 
| template< class T >
inline constexpr bool is_member_function_pointer_v =
    is_member_function_pointer<T>::value; | (since C++17) | 
| value [static] | trueifTis a member function pointer type,falseotherwise(public static member constant) | 
| operator bool | converts the object to bool, returns value(public member function) | 
| operator() (C++14) | returns value(public member function) | 
| Type | Definition | 
|---|---|
| value_type | bool | 
| type | std::integral_constant<bool, value> | 
| template<class T>
struct is_member_function_pointer_helper : std::false_type {};
 
template<class T, class U>
struct is_member_function_pointer_helper<T U::*> : std::is_function<T> {};
 
template<class T>
struct is_member_function_pointer 
    : is_member_function_pointer_helper<typename std::remove_cv<T>::type> {}; | 
#include <type_traits>
 
class A
{
public:
    void member() {}
};
 
int main()
{
    // fails at compile time if A::member is a data member and not a function
    static_assert(std::is_member_function_pointer<decltype(&A::member)>::value,
                  "A::member is not a member function."); 
}| (C++11) | checks if a type is a pointer type (class template) | 
| (C++11) | checks if a type is a pointer to a non-static member object (class template) | 
| (C++11) | checks if a type is a pointer to a non-static member function or object (class template) | 
    © cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
    https://en.cppreference.com/w/cpp/types/is_member_function_pointer