Resultados da pesquisa a pedido "templates"
Nome bonito do modelo C ++
Preciso imprimir nomes de modelos recuados para fins de depuração. Por exemplo, em vez de uma linha, eu gostaria de recuar o nome assim: boost::phoenix::actor< boost::phoenix::composite< boost::phoenix::less_eval, boost::fusion::vector< ...
Typedefs fortes [duplicado]
Esta pergunta já tem uma resposta aqui: C ++ fortemente tipado usando e typedef [/questions/34287842/c-strongly-typed-using-and-typedef] 4 respostasExiste alguma maneira de fazer uma cópia completa de um tipo para que eles possam ...
inspecionar a instanciação do modelo C ++
Existe algum utilitário que me permita inspecionar a instanciação do modelo? meu compilador é g ++ ou Intel. Pontos específicos que eu gostaria: Instanciação passo a passo.Backtrace de instanciação (pode hackear isso travando o compilador. ...
Se o endereço de uma função não puder ser resolvido durante a dedução, é SFINAE ou um erro do compilador?
No C ++ 0x, as regras SFINAE foram simplificadas para que qualquer expressão ou tipo inválido que ocorra no "contexto imediato" da dedução não resulte em erro do compilador, mas em falha na dedução (SFINAE). Minha pergunta é esta: Se eu pegar o ...
Métodos virtuais para visitantes e modelos
Em uma implementação típica doVisitante padrão, a classe deve contabilizar todas as variações (descendentes) da classe base. Há muitos casos em que o mesmo conteúdo do método no visitante é aplicado aos diferentes métodos. Um método virtual ...
Usar um parâmetro de modelo em uma diretiva de pré-processador?
É possível usar um parâmetro de modelo constante que não seja do tipo em uma diretiva de pré-processador? Aqui está o que eu tenho em mente: template <int DING> struct Foo { enum { DOO = DING }; }; template <typename T> struct Blah { void DoIt() ...
Como declarar corretamente um amigo de uma classe aninhada de uma classe de modelo?
Quando eu faço o seguinte: template <typename T> class Container { public: class Iterator { friend bool operator==(const Iterator& x, const Iterator& y); }; };O gcc me dá o seguinte aviso e sugestão: warning: friend declaration 'bool ...
parâmetro do modelo não-ponteiro
Realmente não entendo por que o código abaixo não é compilado: template<const char*> struct Foo{}; constexpr const char s1[] = "test1"; constexpr const char* const s2 = "test2"; int main() { Foo<s1> foo1; // ok // Foo<s2> foo2; // doesn't ...
Habilitar método com base no parâmetro de modelo booleano
Eu quero implementar uma função privada com base em um parâmetro de modelo booleano. Algo parecido: #include <iostream> using namespace std; template <bool is_enabled = true> class Aggregator { public: void fun(int a) { funInternal(a); } ...
Como o `is_base_of` funciona?
Como o código a seguir funciona? typedef char (&yes)[1]; typedef char (&no)[2]; template <typename B, typename D> struct Host { operator B*() const; operator D*(); }; template <typename B, typename D> struct is_base_of { template <typename T> ...