Resultados da pesquisa a pedido "template-meta-programming"

5 a resposta

Modelos variáveis e instrução switch?

Eu tenho a seguinte função que pode pegar N argumentos de tipos diferentes e os encaminha para N funções modeladas em cada tipo individual, dessa maneira (exemplo com dois argumentos): template <typename T1, typename T2> bool func(int& counter, ...

3 a resposta

Por que as especializações de modelos precisam ser incorporadas?

Estou me referindo a esta resposta: https://stackoverflow.com/a/4447057/930315 [https://stackoverflow.com/a/4447057/930315] Encontrei um problema semelhante ao OP da pergunta citada, tendo uma função template<typename T> void func(T& val);e ...

2 a resposta

Deduzindo o Primeiro Argumento do Modelo com Outros Parâmetros do Modelo Padrão

Gcc e clang parecem discordar se esse código deve ser compilado ou não: #include <type_traits> template <typename Signature, int N = 0> struct MyDelegate { }; template <typename D> struct signature_traits; template <template <typename> class ...

2 a resposta

Dedução de argumento do modelo quando a função retorna um tipo composto do tipo de modelo e outro

É difícil formular o título em palavras, mas aqui está o que estou tentando obter em códigos não compiláveis: template<template <typename> class Container> Container<int> foo() { return Container<int>{1,2,3}; } int main() { auto bar = ...

1 a resposta

Como usar corretamente std :: enable_if em um construtor

Esta pergunta combina várias partes do código e é um pouco complicada, mas tentei reduzi-lo o máximo possível. Estou tentando usarstd::enable_if invocar condicionalmente o construtor correto como resultado de assinaturas de funções ambíguas ...

3 a resposta

Predicado em tempo de compilação C ++ para testar se um objeto que pode ser chamado do tipo F pode ser chamado com um argumento do tipo T

Eu gostaria de criar uma função do tipo compilação que, dado qualquer objeto que possa ser chamadof (função, expressão lambda, objeto de função, ...) e um tipoT, avalia como verdadeiro, sef pode ser chamado com um argumento do tipoTe false se não ...

4 a resposta

Construção C ++ que se comporta como a macro __COUNTER__ [duplicada]

Esta pergunta já tem uma resposta aqui: O C ++ suporta contadores em tempo de compilação? [/questions/6166337/does-c-support-compile-time-counters] 7 respostasEu tenho um conjunto de classes C ++ e cada uma deve declarar uma identificação ...

2 a resposta

Otimizar a substituição do modelo de um comutador

Eu tenho muitos tipos de dados personalizados em um dos meus projetos que compartilham uma classe base comum. Meus dados (provenientes de um banco de dados) têm um tipo de dados que é diferenciado por um enum da classe base. Minha arquitetura ...

3 a resposta

Criando uma lista de tempo de compilação incrementalmente em C ++

No C ++, existe uma maneira de criar uma lista de tempo de compilação incrementalmente, no seguinte padrão? START_LIST(List) ADD_TO_LIST(List, int) ADD_TO_LIST(List, float) ADD_TO_LIST(List, double) END_LIST(List)O resultado disso deve ser ...

3 a resposta

Concatenar seqüências de caracteres em tempo de compilação em um modelo em tempo de compilação?

Atualmente tenho: template <typename T> struct typename_struct<T*> { static char const* name() { return (std::string(typename_struct<T>::name()) + "*").c_str(); } };Gostaria de saber se posso evitar a parte inteira onde sou forçado a alocar uma ...