Resultados da pesquisa a pedido "typetraits"

4 a resposta

Qual é a diferença entre uma característica e uma política?

Eu tenho uma classe cujo comportamento eu estou tentando configurar.

3 a resposta

Como detectar se uma classe é final em C ++ 11?

Codifique primeiro.

3 a resposta

Como testar se a classe B é derivada da família de classes template

Como testar em tempo de compilação se a classe B é derivada de std :: vector?

1 a resposta

Como verificar se T é um tipo agregado?

Eu sei sobrestd::is_pod. Mas verifica mais do que apenas tipos agregados. Ou éstd::is_pod apenas o melhor que podemos fazer? Basicamente, quero escrever um modelo de função ...

1 a resposta

T declval () em vez de T&& declval () para common_type

Não é melhor usarstd::declval declarado na forma: template< class T > T declval(); // (1)então atual: template< class T > T && declval(); // (2)parastd::common_type (possivelmente com nome diferente apenas para esse propósito ...

3 a resposta

Função de modelo que corresponde apenas a certos tipos?

Eu quero definir um modelo de função: template<typename T> void foo(T arg)Mas eu queroT para corresponder apenas a certos tipos. Especificamente,T deve derivar (talvez por herança múltipla) formar uma certa classe base. Caso contrário, este ...

2 a resposta

Como você usa traços de tipo para fazer compilação condicional?

2 a resposta

Especializando modelo C ++ com base na presença / absente de um membro da classe?

1 a resposta

possível usar características de tipo para verificar se um tipo é um contêine

Posso usar traços de tipo C ++ para verificar se um tipo é um contêiner semelhante ao STL? Eu já sei do built-in do GCC__is_class mas gostaria de ser um pouco mais específico, se possível.

3 a resposta

Existe uma maneira de impedir que uma classe seja derivada duas vezes usando uma declaração estática e uma característica de tip

Sei que este é um exemplo artificial, mas quero uma verificação de compilação para evitar isso ... class A {}; class B : public A {}; class C : public A {}; class D : public B, public C { BOOST_STATIC_ASSERT((is_base_of_once<A,D>::value)) };