Thinking in C++, 2nd ed. Volume 2 Revision 2 - Index
1
, 2
, 3
, A
, B
, C
, D
, E
, F
, G
, H
, I
, K
, L
, M
, N
, O
, P
, R
, S
, T
, U
, V
, W
, Z
1.creational design patterns, 1
- 2.design patterns
- structural, 1
- 3.design patterns
- behavioral, 1
- abort( ), 1
- Standard C library function, 1
- abstraction
- in program design, 1
adapting to usage in different countries, Standard C++ localization library, 1
- ambiguity
- in multiple inheritance, 1
ANSI/ISO C++ committee, 1
applicator, 1
applying a function to a container, 1
- arguments
- variable argument list, 1
assert( ), 1
atof( ), 1
atoi( ), 1
- automatic type conversion
- and exception handling, 1
awk, 1
bad( ), 1
badbit, 1
- bad_alloc, 1
- Standard C++ library exception type, 1
- bad_cast
- and run-time type identification, 1
Standard C++ library exception type, 1
- bad_typeid
- run-time type identification, 1
Standard C++ library exception type, 1
- before( )
- run-time type identification, 1
behavioral design patterns, 1
- binary
- printing, 1
- bits
- bit vector in the Standard C++ libraries, 1
- bit_string
- bit vector in the Standard C++ libraries, 1
bloat, preventing template bloat, 1
Booch, Grady, 1
book errors, reporting, 1
bubble sort, 1
buffering, iostream, 1
bytes, reading raw, 1
- C
- basic data types, 1
error handling in C, 1
localtime( ), Standard library, 1
rand( ), Standard library, 1
Standard C, 1
Standard C library function abort( ), 1
Standard C library function strncpy( ), 1
Standard C library function strtok( ), 1
standard I/O library, 1
Standard library macro toupper( ), 1
- C++
- ANSI/ISO C++ committee, 1
CGI programming in C++, 1
GNU C++ Compiler, 1
sacred design goals of C++, 1
Standard C++, 1
Standard string class, 1
Standard Template Library (STL)., 1
template, 1
calloc( ), 1
- cast
- casting away const and/or volatile, 1
dynamic_cast, 1
new cast syntax, 1
run-time type identification, casting to intermediate levels, 1
searching for, 1
- catch, 1
- catching any exception, 1
- CGI
- connecting Java to CGI, 1
crash course in CGI programming, 1
GET, 1
POST, 1, 2
programming in C++, 1
chaining, in iostreams, 1
- change
- vector of change, 1, 2
char* iostreams, 1
- character
- transforming strings to typed values, 1
- class
- class hierarchies and exception handling, 1
maintaining library source, 1
most-derived class, 1
nested class, and run-time type identification, 1
Standard C++ string, 1
virtual base classes, 1
wrapping, 1
cleaning up the stack during exception handling, 1
clear( ), 1, 2
- command line
- interface, 1
committee, ANSI/ISO C++, 1
- compile time
- error checking, 1
compiler error tests, 1
complex number class, 1
- composition
- and design patterns, 1
console I/O, 1
- const
- casting away const and/or volatile, 1
- constructor
- and exception handling, 1, 2, 3
default constructor, 1
default constructor synthesized by the compiler, 1
failing, 1
order of constructor and destructor calls, 1
private constructor, 1
simulating virtual constructors, 1
virtual base classes with a default constructor, 1
virtual functions inside constructors, 1
const_cast, 1
- controlling
- template instantiation, 1
- conversion
- automatic type conversions and exception handling, 1
Coplien, James, 1
couplet, 1
- creating
- manipulators, 1
creational design patterns, 1
- data
- C data types, 1
- database
- object-oriented database, 1
datalogger, 1
- decimal
- dec in iostreams, 1
dec manipulator in iostreams, 1
formatting, 1
- default
- constructor, 1
- default constructor
- synthesized by the compiler, 1
- delete, 1
- overloading array new and delete, 1
deserialization, and persistence, 1
- design
- abstraction in program design, 1
and efficiency, 1
sacred design goals of C++, 1
- design patterns, 1
- creational, 1, 2
factory method, 1
observer, 1
prototype, 1, 2
vector of change, 1, 2
visitor, 1
- destructor
- and exception handling, 1, 2
order of constructor and destructor calls, 1
- diamond
- in multiple inheritance, 1
- dispatching
- double dispatching, 1, 2
multiple dispatching, 1
- domain_error
- Standard C++ library exception type, 1
double dispatching, 1, 2
- downcast
- type-safe downcast in run-time type identification, 1
- dynamic_cast
- and exceptions, run-time type identification, 1
difference between dynamic_cast and typeid( ), run-time type identification, 1
run-time type identification, 1
effectors, 1
- efficiency
- design, 1
run-time type identification, 1
ellipses, with exception handling, 1
endl, iostreams, 1, 2
ends, iostreams, 1, 2
enumeration, 1
eof( ), 1
eofbit, 1
errno, 1
- error
- compile-time checking, 1
error handling in C, 1
handling, iostream, 1
recovery, 1
reporting errors in book, 1
- exception handling, 1
- asynchronous events, 1
atomic allocations for safety, 1
automatic type conversions, 1
bad_alloc Standard C++ library exception type, 1
bad_cast Standard C++ library exception type, 1
bad_typeid, 1
bad_typeid Standard C++ library exception type, 1
catching any exception, 1
class hierarchies, 1
cleaning up the stack during a throw, 1
constructors, 1, 2
constructors , 1
destructors, 1, 2
domain_error Standard C++ library exception type, 1
dynamic_cast, run-time type identification, 1
ellipses, 1
exception handler, 1
exception hierarchies, 1
exception matching, 1
exception Standard C++ library exception type, 1
invalid_argument Standard C++ library exception type, 1
length_error Standard C++ library exception type, 1
logic_error Standard C++ library exception type, 1
multiple inheritance, 1
naked pointers, 1
object slicing and exception handling, 1, 2
operator new placement syntax, 1
out_of_range Standard C++ library exception type, 1
overflow_error Standard C++ library exception type, 1
overhead, 1
programming guidelines, 1
range_error Standard C++ library exception type, 1
re-throwing an exception, 1
references, 1, 2
run-time type identification, 1
runtime_error Standard C++ library exception type, 1
set_terminate( ), 1
set_unexpected( ), 1
specification, 1
Standard C++ library exception type, 1
Standard C++ library exceptions, 1
standard exception classes, 1
termination vs. resumption, 1
throwing & catching pointers, 1
throwing an exception, 1
typeid( ), 1
typical uses of exceptions, 1
uncaught exceptions, 1
unexpected( ), 1
unexpected, filtering exceptions, 1
extensible, 1
extensible program, 1
extractor, 1
factory method, 1
fail( ), 1
failbit, 1, 2
- file
- iostreams, 1, 2
FILE, stdio, 1
- fill
- width, precision, iostream, 1
filtering unexpected exceptions, 1
flags, iostreams format, 1
flush, iostreams, 1, 2
format flags, iostreams, 1
- formatting
- formatting manipulators, iostreams, 1
in-core, 1
iostream internal data, 1
output stream, 1
free( ), 1
freeze( ), 1
freezing a strstream, 1
fseek( ), 1
FSTREAM.H, 1
- function
- applying a function to a container, 1
function objects, 1
function templates, 1
member function template, 1
pointer to a function, 1
run-time type identification without virtual functions, 1, 2
GET, 1
get pointer, 1, 2, 3
- get( ), 1, 2
- overloaded versions, 1
with streambuf, 1
getline( ), 1, 2, 3
GNU C++ Compiler, 1
good( ), 1
- goto
- non-local goto, setjmp( ) and longjmp( ), 1
graphical user interface (GUI), 1
Grey, Jan, 1
- GUI
- graphical user interface, 1
handler, exception, 1
hex, 1
hex (hexadecimal) in iostreams, 1
hex( ), 1
hexadecimal, 1
- hierarchy
- object-based hierarchy, 1
- I/O
- C standard library, 1
console, 1
ifstream, 1, 2, 3
ignore( ), 1
- implementation
- limits, 1
in-core formatting, 1
indexOf( ), 1
- inheritance
- and design patterns, 1
multiple inheritance (MI), 1
multiple inheritance and run-time type identification, 1, 2, 3
templates, 1
- input
- line at a time, 1
inserter, 1
- interface
- command-line, 1
graphical user (GUI), 1
repairing an interface with multiple inheritance, 1
interpreter, printf( ) run-time, 1
- invalid_argument
- Standard C++ library exception type, 1
IOSTREAM.H, 1
- iostreams
- and Standard C++ library string class, 1
applicator, 1
automatic, 1
bad( ), 1
badbit, 1
binary printing, 1
buffering, 1
clear( ), 1
dec, 1
dec (decimal), 1
effectors, 1
endl, 1
ends, 1
eof( ), 1
eofbit, 1
error handling, 1
fail( ), 1
failbit, 1, 2
files, 1
fill character, 1
fixed, 1
flush, 1, 2
format flags, 1
formatting manipulators, 1
fseek( ), 1
get pointer, 1
get( ), 1
getline( ), 1
good( ), 1
hex, 1
hex (hexadecimal), 1
ignore( ), 1
internal, 1
internal formatting data, 1
ios::app, 1
ios::ate, 1
ios::basefield, 1
ios::beg, 1
ios::cur, 1
ios::dec, 1
ios::end, 1
ios::fill( ), 1
ios::fixed, 1
ios::flags( ), 1
ios::hex, 1
ios::internal, 1
ios::left, 1
ios::oct, 1
ios::out, 1
ios::precision( ), 1
ios::right, 1
ios::scientific, 1
ios::showbase, 1
ios::showpoint, 1
ios::showpos, 1
ios::skipws, 1
ios::stdio, 1, 2
ios::unitbuf, 1
ios::uppercase, 1
ios::width( ), 1
left, 1
manipulators, creating, 1
newline, manipulator for, 1
noshowbase, 1
noshowpoint, 1
noshowpos, 1
noskipws, 1
nouppercase, 1
oct (octal), 1, 2
open modes, 1
precision( ), 1
rdbuf( ), 1
read( ), 1
read( ) and write( ), 1
resetiosflags, 1
right, 1
scientific, 1
seekg( ), 1
seeking in, 1
seekp( ), 1
setbase, 1
setf( ), 1, 2
setfill, 1
setiosflags, 1
setprecision, 1
setw, 1
setw( ), 1
showbase, 1
showpoint, 1
showpos, 1
skipws, 1
tellg( ), 1
tellp( ), 1
unit buffering, 1
uppercase, 1
width, fill and precision, 1
ws, 1
istream, 1
istringstreams, 1
istrstream, 1, 2
iterator, 1
- keyword
- catch, 1
Lajoie, Josée, 1
Lee, Meng, 1
- length_error
- Standard C++ library exception type, 1
- library
- C standard I/O, 1
maintaining class source, 1
standard template library (STL), 1
limits, implementation, 1
LIMITS.H, 1
line input, 1
localtime( ), 1
- logic_error
- Standard C++ library exception type, 1
longjmp( ), 1
maintaining class library source, 1
malloc( ), 1, 2
- manipulator, 1
- creating, 1
iostreams formatting, 1
- member
- member function template, 1
- memory
- a memory allocation system, 1
- MI
- multiple inheritance, 1
modes, iostream open, 1
modulus operator, 1
monolithic, 1
multiple dispatching, 1
- multiple inheritance, 1
- ambiguity, 1
and exception handling, 1
and run-time type identification, 1, 2, 3
and upcasting, 1
avoiding, 1
diamonds, 1
duplicate subobjects, 1
most-derived class, 1
overhead, 1
pitfall, 1
repairing an interface, 1
upcasting, 1
virtual base classes, 1
virtual base classes with a default constructor, 1
naked pointers, and exception handling, 1
namespace, 1
- network programming
- CGI POST, 1
CGI programming in C++, 1
connecting Java to CGI, 1
crash course in CGI programming, 1
- new, 1
- overloading array new and delete, 1
placement syntax, 1
newline, 1
- non-local goto
- setjmp( ) and longjmp( ), 1
notifyObservers( ), 1, 2
null references, 1
- numerical operations
- efficiency using the Standard C++ Numerics library, 1
- object
- object-based hierarchy, 1
object-oriented database, 1
object-oriented programming, 1
slicing, and exception handling, 1, 2
temporary, 1
Observable, 1
observer design pattern, 1
oct, 1
ofstream, 1, 2
open modes, iostreams, 1
- operator
- >>, 1
<<, 1
modulus, 1
operator overloading sneak preview, 1
[], 1
- order
- of constructor and destructor calls, 1
ostream, 1, 2
ostringstreams, 1
ostrstream, 1, 2, 3
- output
- stream formatting, 1
strstreams, 1
- out_of_range
- Standard C++ library exception type, 1
- overflow_error
- Standard C++ library exception type, 1
- overhead
- exception handling, 1
multiple inheritance, 1
- overloading
- array new and delete , 1
overview, chapters, 1
pair template class, 1
Park, Nick, 1
patterns, design patterns, 1
perror( ), 1
- persistence, 1
- persistent object, 1
- pitfalls
- in multiple inheritance, 1
- pointer
- finding exact type of a base pointer, 1
pointer to a function, 1
to member, 1
polymorphism, 1, 2, 3
- POST, 1
- CGI, 1
- precision
- width, fill, iostream, 1
precision( ), 1
- preprocessor
- stringizing, 1
- printf( ), 1, 2
- error code, 1
run-time interpreter, 1
- private
- constructor, 1
programming, object-oriented, 1
protected, 1
- prototype, 1
- design pattern, 1
put pointer, 1
raise( ), 1
rand( ), 1
RAND_MAX, 1
- range_error
- Standard C++ library exception type, 1
rapid development, 1
raw, reading bytes, 1
rdbuf( ), 1
re-throwing an exception, 1
- read( ), 1, 2
- iostream read( ) and write( ), 1
reading raw bytes, 1
realloc( ), 1
- reference
- and exception handling, 1, 2
and run-time type identification, 1
null references, 1
reinterpret_cast, 1
reporting errors in book, 1
- resumption, 1
- termination vs. resumption, exception handling, 1
root, 1
- RTTI
- misuse of RTTI, 1, 2
run-time interpreter for printf( ), 1
- run-time type identification, 1, 2, 3
- and efficiency, 1
and exception handling, 1
and multiple inheritance, 1, 2, 3
and nested classes, 1
and references, 1
and templates, 1
and upcasting, 1
and void pointers, 1
bad_cast, 1
bad_typeid, 1
before( ), 1
building your own, 1
casting to intermediate levels, 1
difference between dynamic_cast and typeid( ), 1
dynamic_cast, 1
mechanism & overhead, 1
misuse, 1
RTTI, abbreviation for, 1
shape example, 1
type-safe downcast, 1
typeid( ), 1
typeid( ) and built-in types, 1
typeinfo, 1, 2
vendor-defined, 1
VTABLE, 1
when to use it, 1
without virtual functions, 1, 2
- runtime_error
- Standard C++ library exception type, 1
Schwarz, Jerry, 1
sed, 1
seekg( ), 1
seeking in iostreams, 1
seekp( ), 1
- serialization, 1
- and persistence, 1
- set
- STL set class example, 1
setChanged( ), 1
setf( ), iostreams, 1, 2
setjmp( ), 1
setw( ), 1
set_new_handler, 1
set_terminate( ), 1
- set_unexpected( )
- exception handling, 1
- shape
- example, and run-time type identification, 1
signal( ), 1, 2
simulating virtual constructors, 1
singleton, 1
- size
- sizeof, 1
- slicing
- object slicing and exception handling, 1, 2
Smalltalk, 1
- sort
- bubble sort, 1
- specification
- exception, 1
- standard
- Standard C, 1
Standard C++, 1
- Standard C++ libraries
- algorithms library, 1
bits bit vector, 1
bit_string bit vector, 1
complex number class, 1
containers library, 1
diagnostics library, 1
general utilities library, 1
iterators library, 1
language support, 1
localization library, 1
numerics library, 1
standard exception classes, 1
standard library exception types, 1
standard template library (STL), 1
string class, 1
- standard template library
- operations on, with algorithms, 1
set class example, 1
static_cast, 1
stdio, 1
STDIO.H, 1
Stepanov, Alexander, 1
- STL
- C++ Standard Template Library, 1
standard template library, 1
- storage
- storage allocation functions for the STL, 1
str( ), strstream, 1
- stream, 1
- output formatting, 1
- streambuf, 1
- and get( ), 1
streampos, moving, 1
- String
- indexOf( ), 1
Standard C++ library string class, 1
transforming character strings to typed values, 1
substring( ), 1
stringizing, preprocessor, 1
- strncpy( )
- Standard C library function strncpy( ), 1
Stroustrup, Bjarne, 1
strstr( ), 1
- strstream, 1, 2
- automatic storage allocation, 1
ends, 1
freezing, 1
output, 1
str( ), 1
user-allocated storage, 1
zero terminator, 1
- strtok( )
- Standard C library function, 1
structural design patterns, 1
- subobject
- duplicate subobjects in multiple inheritance, 1
substring( ), 1
tellg( ), 1
tellp( ), 1
- template
- and inheritance, 1
and run-time type identification, 1
C++ Standard Template Library (STL), 1
controlling instantiation, 1
function templates, 1
in C++, 1
member function template, 1
preventing template bloat, 1
requirements of template classes, 1
standard template library (STL), 1
- temporary
- object, 1
- terminate( ), 1
- uncaught exceptions, 1
- termination
- vs. resumption, exception handling, 1
- terminator
- zero for strstream, 1
throwing an exception, 1
toupper( ), 1
transforming character strings to typed values, 1
try block, 1
tuple-making template function, 1
- type
- automatic type conversions and exception handling, 1
built-in types and typeid( ), run-time type identification, 1
finding exact type of a base pointer, 1
new cast syntax, 1
run-time type identification (RTTI), 1
type-safe downcast in run-time type identification, 1
- typeid( )
- and built-in types, run-time type identification, 1
and exceptions, 1
difference between dynamic_cast and typeid( ), run-time type identification, 1
run-time type identification, 1
- typeinfo
- run-time type identification, 1
structure, 1
TYPEINFO.H, 1
ULONG_MAX, 1
uncaught exceptions, 1
- unexpected( ), 1
- exception handling, 1
unit buffering, iostream, 1
Unix, 1
- upcasting
- and multiple inheritance, 1, 2
and run-time type identification, 1
Urlocker, Zack, 1
- value
- transforming character strings to typed values, 1
- variable
- variable argument list, 1
vector of change, 1, 2, 3
vendor-defined run-time type identification, 1
- virtual
- run-time type identification without virtual functions, 1, 2
simulating virtual constructors, 1
virtual base classes, 1
virtual base classes with a default constructor, 1
virtual functions inside constructors, 1
visitor pattern, 1
- void
- void pointers and run-time type identification, 1
- volatile
- casting away const and/or volatile, 1
VPTR, 1, 2
- VTABLE, 1
- and run-time type identification, 1
wrapping, class, 1
- write( ), 1
- iostream read( ) and write( ), 1
ws, 1
zero terminator, strstream, 1