xref: /llvm-project/clang-tools-extra/test/modularize/Inputs/TemplateClasses.h (revision 0b7fc15e7035276e2f8a778ebe15f4cad9007c99)
1*8e01c069SJohn Thompson // Exercise some template issues.  Should not produce errors.
2*8e01c069SJohn Thompson 
3*8e01c069SJohn Thompson // Forward declaration.
4*8e01c069SJohn Thompson template<class T> class TemplateClass;
5*8e01c069SJohn Thompson 
6*8e01c069SJohn Thompson // Full declaration.
7*8e01c069SJohn Thompson template<class T>class TemplateClass {
8*8e01c069SJohn Thompson public:
TemplateClass()9*8e01c069SJohn Thompson   TemplateClass() {}
10*8e01c069SJohn Thompson private:
11*8e01c069SJohn Thompson   T Member;
12*8e01c069SJohn Thompson };
13*8e01c069SJohn Thompson 
14*8e01c069SJohn Thompson // Template alias.
15*8e01c069SJohn Thompson template<class T> using TemplateClassAlias = TemplateClass<T>;
16