Elaborated type specifier syntax 1.0 class 1.0 struct 1.0 union 1.0 enum 1.1? :: 1.2? %nested_name_specifier 1.3 identifier 1 typename 1.1? :: 1.2 nested_name_specifier 1.3 identifier 1.3? template 1.3.1 template_name Nested name specifier: 1 class_name 1 namespace_name 2 :: 3? 3 template nested_name_specifier 3 nested_name_specifier