Home | History | Annotate | Download | only in temp.arg.template

Lines Matching full:template

3 template <class T> struct eval; // expected-note 3{{template is declared here}}
5 template <template <class, class...> class TT, class T1, class... Rest>
8 template <class T1> struct A;
9 template <class T1, class T2> struct B;
10 template <int N> struct C;
11 template <class T1, int N> struct D;
12 template <class T1, class T2, int N = 17> struct E;
16 eval<C<17>> eC; // expected-error{{implicit instantiation of undefined template 'eval<C<17> >'}}
17 eval<D<int, 17>> eD; // expected-error{{implicit instantiation of undefined template 'eval<D<int, 17> >'}}
18 eval<E<int, float>> eE; // expected-error{{implicit instantiation of undefined template 'eval<E<int, float, 17> >}}
20 template<template <int ...N> class TT> struct X0 { }; // expected-note{{previous non-type template parameter with type 'int' is here}}
21 template<int I, int J, int ...Rest> struct X0a;
22 template<int ...Rest> struct X0b;
23 template<int I, long J> struct X0c; // expected-note{{template non-type parameter has a different type 'long' in template argument}}
27 X0<X0c> inst_x0c; // expected-error{{template template argument has different template parameters than its corresponding template template parameter}}
29 template<typename T,
30 template <T ...N> class TT> // expected-note{{previous non-type template parameter with type 'short' is here}}
32 template<int I, int J, int ...Rest> struct X1a;
33 template<long I, long ...Rest> struct X1b;
34 template<short I, short J> struct X1c;
35 template<short I, long J> struct X1d; // expected-note{{template non-type parameter has a different type 'long' in template argument}}
40 X1<short, X1d> inst_x1d; // expected-error{{template template argument has different template parameters than its corresponding template template paramete}}