Resultados da pesquisa a pedido "sfinae"

3 a resposta

Escrevendo um modelo de função que é especializado para uma classe e suas subclasses

4 a resposta

Verifique se o tipo é hashble

Eu gostaria de fazer um traço de tipo para verificar se um tipo específico é hashable usando as instanciações padrão dos contêineres não-ordenados da bibliot...

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 ...

2 a resposta

Verifique se uma classe tem um membro de dados do ponteiro

Existe uma maneira de testar se uma classe tem um membro de dados de ponteiro? class Test { int* p; } template< typename T > foo( T bla ) { }Isso não deve compilar. porque Teste tem um membro de dados do ponteiro. Test test; foo( test )Talvez ...

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, ...

4 a resposta

SFINAE para verificar funções membro herdadas

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 ...

3 a resposta

Por que devo evitar std :: enable_if em assinaturas de função

2 a resposta

SFINAE não está acontecendo com std :: subjac_type

Abaixo do código SFINAE com modelos variadic compila bem usando o clang 3.7.1, C ++ 14: #include <array> #include <iostream> #include <vector> #include <cstdint> enum class Bar : uint8_t { ay, bee, see }; struct S { static void foo() {} ...

5 a resposta

Problemas do compilador SFINAE

O meu código a seguir deve detectar seT tembegin eend métodos: template <typename T> struct is_container { template <typename U, typename U::const_iterator (U::*)() const, typename U::const_iterator (U::*)() const> struct sfinae {}; template ...