Resultados da pesquisa a pedido "typetraits"
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 ...
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 ...
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 ...
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 ...
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 é ...
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 ...
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 ...
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 ...
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 ...
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 ...