Resultados da pesquisa a pedido "sfinae"

1 a resposta

Falha na substituição não é um erro (SFINAE) para enum

Existe uma maneira de usar a falha de substituição não é um erro (SFINAE) para enu template <typename T> struct Traits { } template <> struct Traits<A> { }; template <> struct Traits<B> { enum { iOption = 1 }; }; template <T> void Do() { // use ...

5 a resposta

boost :: enable_if não está na assinatura da função

Esta é apenas uma pergunta sobre estilo: eu não gosto da maneira de C ++ para metaprogramação de modelos que exige que você use o tipo de retorno ou adicione um argumento fictício extra para os truques com SFINAE. Então, a ideia que tive foi ...

13 a resposta

Verifique se uma classe tem uma função de membro de uma determinada assinatura

Estou pedindo um truque de modelo para detectar se uma classe tem uma função de membro específica de uma determinada assinatur O problema é semelhante ao aqui citadohttp: //www.gotw.ca/gotw/071.ht [http://www.gotw.ca/gotw/071.htm] mas não o ...

2 a resposta

SFINAE para testar uma função livre de outro namespace

Eu estava tentando criar um hack para testar sestd::isnan é definido sem os compiladores de revestimento especiais no pré-processador e veio com o seguinte, que eu esperava que funcionasse be #include <cmath> #include <type_traits> namespace ...

4 a resposta

Como esse modelo de classe has_member funciona?

Estou tentando entender como o seguinte modelo de classe funciona (retirado de aqu [http://groups.google.com/group/comp.lang.c++.moderated/msg/e5fbc9305539f699?pli=1] ), mas não entendi direito: template <typename Type> class has_member { class ...

14 a resposta

Exemplos C ++ SFINAE?

Quero entrar em mais meta-programação de modelos. Eu sei que SFINAE significa "falha na substituição não é um erro". Mas alguém pode me mostrar um bom uso da SFINAE?