Clang Project

clang_source_code/test/Modules/Inputs/template-default-args/a.h
1BEGIN
2template<typename T = int> struct A {};
3template<typename T> struct B {};
4template<typename T> struct C;
5template<typename T> struct D;
6template<typename T> struct E;
7template<typename T = int> struct G;
8template<typename T = int> struct H;
9template<typename T> struct J {};
10template<typename T = int> struct J;
11struct K : J<> {};
12template<typename T = void> struct L;
13struct FriendL {
14  template<typename T> friend struct L;
15};
16END
17
18namespace DeferredLookup {
19  template<typename T, typename U = T> using X = U;
20  template<typename T> void f() { (void) X<T>(); }
21  template<typename T> int n = X<T>();
22  template<typename T> struct S { X<T> xt; enum E : int; };
23  template<typename T> enum S<T>::E : int { a = X<T>() };
24
25  namespace Indirect {
26    template<typename, bool = true> struct A {};
27    template<typename> struct B { template<typename T> using C = A<T>; };
28  }
29}
30