Resultados da pesquisa a pedido "sfinae"

2 a resposta

Como verificar com a SFINAE se um membro existe, sem saber o tipo de membro?

No código anterior ao C ++ 11, se estou procurando por uma variável de membro cujo tipo não sei, como posso usar o SFINAE para verificar se o membro existe?

3 a resposta

Verifique se a classe tem função com assinatura

Existem outras respostas neste site usando SFINAE, mas com código não C ++ 11, e outras usando código C ++ 11 como decltypes para facilitar esse processo. No entanto, não sei como verificar se uma classe tem uma função com uma ...

3 a resposta

Método de modelo para selecionar entre funções com base na acessibilidade do construtor

Estou escrevendo uma aulaptr_scope_manager gerenciar a criação e destruição de ponteiros em um determinado escopo. Eu estudei as respostas desta pergunta: Construtor privado inibe o uso de emplace [_back] () para evitar ...

4 a resposta

posso usar o SFINAE para definir seletivamente uma variável de membro em uma classe de modelo?

Então, o que eu quero fazer é criar uma classe de modelo que possa ou não conter uma variável de membro com base no argumento do modelo passado. Como a seguir: template<typename T, bool flag> class base { foov<std::enable_if<flag, ...

4 a resposta

Verificação SFINAE para o operador + =

Estou tentando eliminar uma sobrecarga de um conjunto de sobrecargas seoperator+= está desaparecido. Eu sei como verificar seT+T é legal: template<typename T, typename CheckTplusT = decltype(std::declval<T>() + std::declval<T>())> void foo(T a, ...

2 a resposta

Como implementar o traço do tipo is_enum_class? [duplicado]

Esta pergunta já tem uma resposta aqui: É possível determinar se um tipo é um tipo de enumeração no escopo? [/questions/10724783/is-it-possible-to-determine-if-a-type-is-a-scoped-enumeration-type] 1 respostaComo implementar um traço de tipo ...

1 a resposta

Modelo de função "Sobrecarga" com base na assinatura do operador do objeto de função () no C ++ 98

Quero criar uma função de modelo que use uma função e um vetor e use a função para mapear esse vetor para outro vetor que será retornado pelo modelo de função. Se a função tomada como argumento for uma função livre, ela pode ter uma das duas ...

2 a resposta

Expressão SFINAE para sobrecarregar no tipo de ponteiro de função passado

Neste exemplo, uma função é passada para um modelo de função implicitamente instanciado. // Function that will be passed as argument int foo() { return 0; } // Function template to call passed function template<typename F> int call(F f) { ...

2 a resposta

Como o `void_t` funciona

Eu assisti a palestra de Walter Brown no Cppcon14 sobre a programação de modelos modernos (Parte I [http://youtu.be/Am2is2QCvxY], parte II [http://youtu.be/a0FliKwcwXE]) onde ele apresentou suavoid_t Técnica SFINAE. Exemplo: Dado um modelo de ...

2 a resposta

Verificando a existência de uma função de membro (sobrecarregada)

Há várias perguntas respondidas sobre como verificar se existe uma função de membro: por exemplo,É possível escrever um modelo para verificar a existência de uma ...