\t
(tab character), 39
template
see also class template
see also function template
see also instantiation
declaration, 669
link time errors, 657
overview, 652
parameter, see template parameter
parameter list, 714
template member, see member template
type alias, 666
type-dependencies, 658
variadic, see variadic template
template argument deduction, 678, 714
compare
, 680
explicit template argument, 682
function pointer, 686
limited conversions, 679
low-level
const
, 693
lvalue reference parameter, 687
multiple function parameters, 680
parameter with nontemplate type, 680
rvalue reference parameter, 687
top-level
const
, 679
template class, see class template
template function, see function template
default template argument, 670
class template, 671
function template, 671
name, 668
restrictions on use, 669
must be constant expression, 655
type requirements, 655
scope, 668
template argument deduction, 680
as friend, 666
used in template class, 660
template parameter pack, 699, 714
expansion, 703
pattern, 703
template specialization, 707, 706–712, 714
class template member, 711
compare
function template, 706
compared to overloading, 708
declaration dependencies, 708
function template, 707
headers, 708
scope, 708
template<>
, 707
template<>
default template argument, 671
template specialization, 707
machine-dependent, 196
terminology
const
reference, 61
iterator, 109
object, 42
overloaded
new
anddelete
, 822
test
, bitset
, 727
TextQuery
, 485
class definition, 487
constructor, 488
main
program, 486
program design, 485
query
, 489
revisited, 635
static
members, 301
as argument, 266
in
return
, 260
overloaded
on
const
, 276
on lvalue or rvalue reference, 546
throw
, 193, 193, 200, 772, 818
pointer to local object, 774
runtime_error
, 194
throw()
, exception specification, 780
tie
member, ostream
, 315
to_string
, 368
Token
, 849
assignment operators, 850
copy control, 851
copyUnion
, 851
default constructor, 850
discriminant, 850
tolower
, 92
top
priority_queue
, 371
stack
, 371
and
auto
, 69
argument and parameter, 212
decltype
, 71
parameter, 232
template argument deduction, 679
toupper
, 92
ToyAnimal
, virtual base class, 815
trailing return type, 229, 252
function template, 684
lambda expression, 396
pointer to array, 229
pointer to function, 250
transform
program, 442
translation unit, 4
trunc
(file mode), 319
try
block, 193, 194, 200, 773, 818
findBook
, program, 721
equality and relational operators, 720
header, 718
initialization, 718
make_tuple
, 718
return value, 721
value initialization, 718
type
template, 666
alias declaration, 68
argument and parameter, 203
array reference parameter, 217
function return value, 223
name lookup, 235
conversion, see conversion
literal, 66
class type, 299
type alias declaration, 68, 78, 80
pointer, to array, 229
pointer to function, 249
pointer to member, 839
template type, 666
type independence, algorithms, 377
type member, class, 271
type parameter, see template parameter
type transformation templates, 684, 714
type_traits
, 685
type_info
, 864
header, 197
name
, 831
no copy or assign, 831
operations, 831
returned from
typeid
, 827
type_traits
header, 684
remove_pointer
, 685
remove_reference
, 684
and
move
, 691
type transformation templates, 685
const
, 68
and pointer, to
const
, 68
pointer, to array, 229
pointer to function, 249
typeid
operator, 826, 827, 864
returns
type_info
, 827
typeinfo
header, 826, 827, 831
typename
compared to class, 654
required for type member, 670
template parameter, 654