abort( ): Standard C library function · 46
abstraction: in program design · 664
ANSI/ISO C++ committee · 25
applicator · 231
applying a function to a container · 289
arguments: variable argument list · 181
atof( ) · 209
atoi( ) · 209
atomic operation · 763
auto_ptr · 55
automatic type conversion: and exception handling · 42
awk · 234
B
bad_cast: Standard C++ library exception type · 61
bad_exception class · 65
bad_typeid: Standard C++ library exception type · 61
before( ): run-time type identification · 607
behavioral design patterns · 673
blocking: and threads · 764
blocking and mutexes · 767
book errors, reporting · 26
broadcast( ) · 765
broadcast( ), threading · 772, 787
buffering, iostream · 200
busy wait · 762
busy wait, threading · 773
bytes, reading raw · 191
C
C: basic data types · 181; error handling in C · 34; rand( ), Standard library · 246; Standard C · 25; Standard C library function abort( ) · 46
C++: ANSI/ISO C++ committee · 25; Standard C++ · 25; Standard string class · 182
C++ standards committee: and concurrency · 721
cancel( ), function in ZThread threading library · 746
Cancelable, ZThread threading library · 746
cast: run-time type identification, casting to intermediate levels · 608
catch · 39, 41; catching any exception · 44
chaining, in iostreams · 185
change: vector of change · 664
character: transforming strings to typed values · 209
class: class hierarchies and exception handling · 43; maintaining library source · 235; Standard C++ string · 182; wrapping · 176
cleaning up the stack during exception handling · 48
cohesion · 71
command line: interface · 188
committee, ANSI/ISO C++ · 25
compile time: error checking · 181
compiler error tests · 240
composition: and design patterns · 665
concurrency · 719; blocking · 764; when to use it · 803
ConcurrentExecutor (Concurrency) · 732
Condition class, threading · 772
console I/O · 188
constructor: and exception handling · 50; default constructor · 696; default constructor synthesized by the compiler · 666; exception handling · 48, 80; failing · 80; order of constructor and destructor calls · 610; private constructor · 666; simulating virtual constructors · 691; virtual functions inside constructors · 692
conversion, automatic type conversions and exception handling · 42
cooperation between threads · 771
Coplien, James · 693
CountedPtr, reference-counting template in ZThread library (Concurrency) · 743
covariance: exception specifications · 69
Crahen, Eric · 722
creating: manipulators · 230
creational design patterns · 672
critical section, in thread programming · 749
Cygwin: and ZThreads · 724
D
data: C data types · 181
datalogger · 242
dead, thread · 764
deadlock: conditions for · 800
deadlock, concurrency · 750
deadlock, concurrency (multithreading) · 795
decimal: dec in iostreams · 225; dec manipulator in iostreams · 225; formatting · 217
default: constructor · 696
default constructor: synthesized by the compiler · 666
design: abstraction in program design · 664; cohesion · 71; exception-neutral · 74; exception-safe · 70
design patterns · 663; behavioral · 673; creational · 672; observer · 699; structural · 672; vector of change · 664; visitor · 714
destructor: and exception handling · 48; exception handling · 80; order of constructor and destructor calls · 610
dining philosophers, threading · 795
dispatching: double dispatching · 711; multiple dispatching · 710
domain_error: Standard C++ library exception type · 61
double dispatching · 711
dynamic_cast: difference between dynamic_cast and typeid( ), run-time type identification · 609
E
efficiency: and threads · 721; run-time type identification · 613
ellipses, with exception handling · 44
endl, iostreams · 225
errno · 34
error: compile-time checking · 181; error handling in C · 34; handling · 33; recovery · 33; reporting errors in book · 26
error handling · 33
exception · 33; and ZThreads (Concurrency) · 737; catching an · 41; catching any · 45; catching by reference · 42; catching via accessible base · 44; handler · 39; rethrowing an · 45, 74; re-throwing an · 45; safety · 70; throwing an · 38; uncaught · 48
exception class · 58; what( ) · 59