cpp/keyword/typename

Usage

 * In the template parameter list of a template declaration,  can be used as an alternative to  class to declare type template parameters.
 * Inside a declaration or a definition of a template, can be used to declare that a dependent qualified name is a type.
 * can be used before a non-dependent qualified type name. It has no effect in this case.
 * Inside a requirements for type requirements