Resultados da pesquisa a pedido "sfinae"

5 a resposta

O SFINAE funciona de maneira diferente nos casos de parâmetros de tipo e não-modelo

Por que esse código funciona: template< typename T, std::enable_if_t<std::is_same<T, int>::value, T>* = nullptr> void Add(T) {} template< typename T, std::enable_if_t<!std::is_same<T, int>::value, T>* = nullptr> void Add(T) {}e pode distinguir ...

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() {} ...

1 a resposta

Por que as instanciações de modelo continuam aqui para sempre?

No código a seguir, quero substituir template <typename T, typename... Args> auto check (rank<1,T>, Args... args) const -> std::enable_if_t<!has_argument_type<T, Args...>(), decltype(check(rank<2, Ts...>{}, args...))> { return check(rank<2, ...

2 a resposta

Detect se existe um construtor padrão no tempo de compilação [duplicado]

Esta pergunta já tem uma resposta aqui: xiste uma maneira de testar se uma classe C ++ possui um construtor padrão (além dos traços de tipo fornecidos pelo ...

2 a resposta

Usando SFINAE para detectar uma função de membro [duplicado]

Esta pergunta já tem uma resposta aqui: possível escrever um modelo para verificar a existência de uma funçã [/questions/257288/is-it-possible-to-write-a-template-to-check-for-a-functions-existence] 25 respostas No C ++ 11, para descobrir se ...

3 a resposta

Usando SFINAE para detectar POD-ness de um tipo em C ++

O título original aqui eraolução para bug SFINAE no VS2005 C ++ Este é um uso provisório do SFINAE para fazer o equivalente à classe de modelo is_pod que existe no TR1 (no VS2005 ainda não há TR1). Deve ter seuvalo member true quando o ...

5 a resposta

Detectar suporte ao operador com decltype / SFINAE

A (um pouco) desatualizadoartig [http://blog.think-async.com/2009/07/user-friendly-compile-errors-for.html] explora maneiras de usardecltype junto com SFINAE para detectar se um tipo suporta certos operadores, como== ou<. Aqui está um código ...

10 a resposta

Como verificar se o operador == existe?

Estou tentando criar um exemplo, que verificasse a existência dooperator== (função membro ou não membro). Para verificar se uma classe tem um membrooperator== é fácil, mas como verificar se ele tem um não-membrooperator==? Este é o que eu tenho ...

3 a resposta

possível especializar uma definição de modelo com base na existência de um typedef aninhado de um parâmetro de tipo de model

Tenho um modelo,template <typename T> class wrapper, que gostaria de me especializar com base na existência detypename T::context_type. E setypename T::context_type é declarado, então os construtores e o operador de atribuição sobrecarregam ...

4 a resposta

detectando typedef em tempo de compilação (metaprogramação de modelos)

Atualmente, estou fazendo uma metaprogramação de modelos. No meu caso, eu posso lidar com qualquer tipo "iterável", ou seja, qualquer tipo para o qual umtypedef foo const_iterator existe da mesma maneira. Eu estava tentando usar a ...