Resultados da pesquisa a pedido "sfinae"
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 ...
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, ...
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, ...
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, ...
"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 ...
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>{}, ...
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 ...
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?
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 ...
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 ...