Resultados da pesquisa a pedido "templates"
Compartilhando membros estáticos entre instanciações de modelo? (impossível?)
Estou fazendo algo que provavelmente é bobo, mas seria bom se funcionasse. Estou tentando especializar tipos de uma maneira que eu preciso da minha própria estrutura de pesquisa que é essencialmente global (mas idealmente encapsulada como uma ...
Visual Studio 2015 “sintaxe não padrão; use '&' para criar um ponteiro para membro ”
Estou tentando minha própria implementação de Lista vinculada em C ++ e não consigo descobrir por que estou tendo esse erro. Eu sei que há uma implementação STL, mas por razões que estou tentando por conta própria. Aqui está o código: #include ...
Usando o `void_t` para detectar vários erros de repetição do tipo de herança
Eu quero implementar umhas_no_duplicates<...> traço de tipo que avalia comostd::true_type se a lista de tipos variados transmitida não tiver tipos duplicados. static_assert(has_no_duplicates<int, float>{}, ...
Argumentos de encaminhamento para a função de membro do modelo
exemplo ideone [http://ideone.com/WpN7oH] Eu preciso encaminhar alguns argumentos predefinidos mais alguns argumentos passados pelo usuário para uma função de membro. #define FWD(xs) ::std::forward<decltype(xs)>(xs) template<class T, class... ...
Modelo variável na classe de modelo - erro inesperado (possível bug?)
Tendo: struct Value { template<class T> static constexpr T value{0}; };(0) ideona [http://ideone.com/AUo86z] template<typename TValue> struct Something { void x() { static_assert(TValue::template value<int> == 0, ""); } }; int main() ...
Como expandir / "pré-processar" o código do modelo C ++
Para depurar adequadamente macros complexas em C ++, normalmente executo o pré-processador para ver exatamente como é o código resultante. Existe uma maneira semelhante de "pré-processar" o código do modelo?
Diferença entre add_lvalue_reference_t <T> e T &
Suponha que você tenha um argumento de modeloT. Quais são as diferenças entre add_cv_t<T> econst volatile Tadd_const_t<T> econst Tadd_volatile_t<T> evolatile Tadd_lvalue_reference_t<T> eT&add_rvalue_reference_t<T> eT&&add_pointer_t<T> eT*?Por ...
Expansão do modelo variadic da instrução Switch
Deixe-me considerar o seguinte exemplo sintético: inline int fun2(int x) { return x; } inline int fun2(double x) { return 0; } inline int fun2(float x) { return -1; } int fun(const std::tuple<int,double,float>& t, std::size_t i) { switch(i) { ...
Crie o construtor varargs Exception para preencher stringstream
Basicamente, estou criando a classe Exception e quero poder passar detalhes de depuração facilmente, como este: var error = someFunction(); if(error!=0) { throw MyException("someFunction ended with error state #",error,'.'); }Isso exigiria ...
restringir uma função de modelo, para permitir apenas certos tipos
Aqui digamos que eu tenho uma função de modelo simples que, em princípio, pode aceitar todos os tipos de tipos: template <class Type> std::ostream& operator<< (std::ostream& stream, const Type subject) { stream << "whatever, derived from ...