Annex A (informative) Grammar summary [gram]

A.1 Keywords [gram.key]

New context-dependent keywords are introduced into a program by typedef, namespace, class, enumeration, and template declarations.

typedef-name:
	identifier
namespace-name:
	identifier
	namespace-alias

namespace-alias:
	identifier
class-name:
	identifier
	simple-template-id
enum-name:
	identifier
template-name:
	identifier

Note that a typedef-name naming a class is also a class-name ([class.name]).