template-declaration:
exporttemplate
<template-parameter-list>declaration
template-parameter-list:
template-parameter
template-parameter-list,template-parameter
template-parameter:
type-parameter
parameter-declaration
type-parameter:
class identifier![]()
class identifier= type-id
typename identifier![]()
typename identifier= type-id
template<template-parameter-list>class identifier![]()
template<template-parameter-list>class identifier= template-name
template-id:
template-name<template-argument-list>
template-name:
identifier
template-argument-list:
template-argument
template-argument-list,template-argument
template-argument:
assignment-expression
type-id
template-name
explicit-instantiation:
template declaration
explicit-specialization:
template<>declaration