 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| • |
When
defining an object, clients must specify the data
|
|
|
types
and values used for substitution with the type and
|
|
|
non-type
dependencies.
|
|
| • |
For
example, if a class template has one type dependency
|
|
and
one non-type:
|
|
class_name
<data_types, values> object;
|
|
| • |
Only
instances used by the client cause code to be
|
|
|
generated
for any particular compilation.
|
|
| • |
If
the identifiers representing the types expected match
|
|
|
exactly
and if the non-type template arguments have the
|
|
|
identical
values as a previous instantiation, the template
|
|
|
class
is not re-instantiated.
|
|