Resultados da pesquisa a pedido "sfinae"

1 a resposta

especialização std :: hash usando sfinae?

Como exercício, estava tentando ver se poderia usar o SFINAE para criar umstd::hash especialização parastd::pair estd::tuple quando todos os seus parâmetros de modelo são de um tipo não assinado. Tenho um pouco de experiência com eles, mas, pelo ...

2 a resposta

SFINAE não compilou [duplicado]

Esta pergunta já tem uma resposta aqui: SFINAE trabalhando no tipo de retorno, mas não como parâmetro de modelo [/questions/15427667/sfinae-working-in-return-type-but-not-as-template-parameter] 3 respostasMuitas vezes eu usei o SFINAE antes, ...

4 a resposta

Por que enable_if_t nos argumentos do modelo reclama de redefinições?

Eu tenho o seguinte caso que funciona usandostd::enable_if : template<typename T, typename std::enable_if<std::is_same<int, T>::value>::type* = nullptr> void f() { } template<typename T, typename std::enable_if<std::is_same<double, ...

2 a resposta

O void_t falha no Visual Studio 2015

Não entendo por que o teste a seguir sempre falha com o Visual Studio 2015 (o static_assert dispara): #include <type_traits> using namespace std; template<class T> using try_assign = decltype(declval<T&>() = declval<T const&>()); template<class, ...

2 a resposta

"Anti-SFINAE" permitindo uma sobrecarga se uma determinada expressão * não for * bem formada

É fácil usar o SFINAE para ocultar uma sobrecarga de função específica se uma expressão específica não estiver bem formada. Mas quero fazer o oposto, ocultando uma sobrecarga se e somente se uma determinada expressãoé bem formado, e para fazê-lo ...

2 a resposta

Usando o `void_t` para detectar vários erros de repetição do tipo de herança

Eu quero implementar umhas_no_duplicates<...> traço de tipo que avalia comostd::true_type se a lista de tipos variados transmitida não tiver tipos duplicados. static_assert(has_no_duplicates<int, float>{}, ...

1 a resposta

SFINAE Para detectar a existência de função não membro

Alguém conhece um método para especializar um modelo, dependendo de um método não membro ser definido? Eu sei que existem várias maneiras de se especializar se existe uma função de membro, mas nunca vi um exemplo de não membro. O problema ...

5 a resposta

Explicar C ++ SFINAE para um programador não C ++

O que é SFINAE em C ++? Você pode explicar isso em palavras compreensíveis para um programador que não é versado em C ++? Além disso, a que conceito em uma linguagem como Python o SFINAE corresponde?

3 a resposta

Por que minhas expressões SFINAE não funcionam mais com o GCC 8.2?

Recentemente, atualizei o GCC para 8.2 e a maioria das minhas expressões SFINAE parou de funcionar. O seguinte é um pouco simplificado, mas demonstra o problema: #include <iostream> #include <type_traits> class Class { public: template ...

1 a resposta

use sfinae para testar a existência de membros do namespace

Eu estava tentando descobrir se é possível usar o sfinae para testarnamespace existência de membro. O Google é bastante silencioso sobre isso. Eu tentei o código a seguir, mas ele falha. namespace xyz{ struct abc{}; } struct abc{}; struct ...