Thinking in C++, 2nd ed. Volume 2 Revision 3 - 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