llvm/clang-tools-extra/test/modularize/Inputs/TemplateClasses.h

// Exercise some template issues.  Should not produce errors.

// Forward declaration.
template<class T> class TemplateClass;

// Full declaration.
template<class T>class TemplateClass {
public:
  TemplateClass() {}
private:
  T Member;
};

// Template alias.
template<class T> using TemplateClassAlias = TemplateClass<T>;