◐ Shell
clean mode source ↗

std::is_member_pointer - cppreference.com

De cppreference.com

<metanoindex/>

<tbody> </tbody>

Definido no cabeçalho

<type_traits>

template< class T > struct is_member_pointer;

(desde C++11)

Se T é ponteiro para não-estático objeto membro ou um ponteiro para não-estático função de membro, fornece o membro constante value true igual. Para qualquer outro tipo, é value false.

Original:

If T is pointer to non-static member object or a pointer to non-static member function, provides the member constant value equal true. For any other type, value is false.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Herdado de std::integral_constant

Member constants

true se T is a member pointer type , false contrário

Original:

true if T is a member pointer type , false otherwise

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(membro estático público constante)

Member functions

converte o objeto em bool, retorna value

Original:

converts the object to bool, returns value

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(função pública membro)

Member types

Tipo

Original:

Type

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Definition
value_type bool
type std::integral_constant<bool, value>

Possível implementação

template< class T >
struct is_member_pointer_helper         : std::false_type {};

template< class T, class U >
struct is_member_pointer_helper<T U::*> : std::true_type {};

template< class T >
struct is_member_pointer : 
    is_member_pointer_helper<typename std::remove_cv<T>::type> {};

Exemplo

#include <iostream>
#include <type_traits>

int main() {
    class cls {};
    std::cout << (std::is_member_pointer<int(cls::*)>::value
                     ? "T is member pointer"
                     : "T is not a member pointer") << '\n';
    std::cout << (std::is_member_pointer<int>::value
                     ? "T is member pointer"
                     : "T is not a member pointer") << '\n';
}

Saída:

T is member pointer
T is not a member pointer

Veja também

verifica se um tipo é um tipo de ponteiro

Original:

checks if a type is a pointer type

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(modelo de classe) [edit]

verifica se um tipo é um ponteiro para um objeto membro não-estático

Original:

checks if a type is a pointer to a non-static member object

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(modelo de classe) [edit]

verifica se um tipo é um ponteiro para uma função membro não-estático

Original:

checks if a type is a pointer to a non-static member function

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(modelo de classe) [edit]