Resultados da pesquisa a pedido "typetraits"

1 a resposta

Por que `is_constructible <função <int (int)>, int (*) (int, int)> :: value` é verdadeiro no VC2015RC

#include <functional> using namespace std; int main() { static_assert(is_constructible<function<int(int)>, int(*)(int,int)>::value, "error"); }O código não é compilado com o GCC e o Clang, mas passou com o Visual C ++ 2015 RC. Esse comportamento ...

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

5 a resposta

Por que não existe uma característica do tipo std :: is_struct?

Eu vi isso para verificar se um tipoT é uma classe que eu posso usar: bool isClass = std::is_class<T>::value;Retorna true para classes e estruturas. Eu sei que em C ++ eles são quase a mesma coisa, mas eu gostaria de saber por que não há uma ...

2 a resposta

Quando um lambda é trivial?

Quando um lambda é garantido como trivial, se é que existe? Supus que, se capturasse apenas tipos triviais ou nada, seria trivial. Eu não tenho nenhum padrão para apoiar isso. Minha motivação foi mover algum código do Visual C ++ 12 para 14 e ...

2 a resposta

Verifique se um tipo é passado no pacote de parâmetros de modelos variados

Ouvi em algum lugar que, usando a nova sintaxe C ++ 1z, é realmente fácil verificar se um tipo é passado no pacote de parâmetros de modelos variados - aparentemente você pode fazer isso com código que tem quase uma linha de comprimento. Isso é ...

2 a resposta

Verificando se um contêiner de sequência é contíguo na memória

Existe uma maneira de verificar se um contêiner de sequência é contíguo na memória? Algo como: #include <iostream> #include <vector> #include <deque> #include <array> int main() { std::cout << std::boolalpha; std::cout ...

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

1 a resposta

Característica std :: common_type para tipos definidos pelo usuário

Desde C ++ 11, o tipo de característicastd::common_type foi introduzido.std::common_type determina o tipo comum entre todos os seus argumentos de modelo. No C ++ 14, seu tipo auxiliarstd::common_type_t também foi introduzido para criar código que ...

0 a resposta

Descubra se é possível chamar um objeto C ++

É possível escrever uma característica de tipo, digamosis_callable<T>, que informa se um objeto tem umoperator() definiram? É fácil se os argumentos para o operador de chamada forem conhecidos antecipadamente, mas não no caso geral. Quero que a ...