Выбрать главу

flags, iostreams format · 215

flock( ), and SynchronousExecutor (Concurrency) · 733

flush, iostreams · 224, 225

format flags, iostreams · 215

formatting: formatting manipulators, iostreams · 224; in-core · 207; iostream internal data · 215; output stream · 214

fseek( ) · 203

FSTREAM.H · 197

function: applying a function to a container · 289; function templates · 279; pointer to a function · 47

Function-level try blocks · 56

G

get pointer · 205

get( ) · 190, 198; overloaded versions · 191; with streambuf · 202

getline( ) · 190, 198

getPriority( ) · 739

goto: non-local goto, setjmp( ) and longjmp( ) · 35

graphical user interface (GUI) · 188

Guard template, ZThread (concurrency) · 750

GUI: graphical user interface · 188

H

handler, exception · 39

handshaking, between concurrent tasks · 772

hex · 225

hex (hexadecimal) in iostreams · 225

hex( ) · 218

hexadecimal · 217

hierarchy: object-based hierarchy · 622

I

I/O: and threads, blocking · 767; console · 188

ifstream · 182, 196, 202

ignore( ) · 198

in-core formatting · 207

inheritance: and design patterns · 664; multiple inheritance and run-time type identification · 608, 611, 619

initialization: controlling initialization order · 667

Initialization: Resource Acquisition Is Initialization · 52

initialization, lazy · 666

input: line at a time · 188

inserter · 184

interface: command-line · 188; graphical user (GUI) · 188; repairing an interface with multiple inheritance · 655

interfaces: responsive user · 728

interpreter, printf( ) run-time · 180

interrupt( ), threading · 765

interrupted status, threading · 769

Interrupted_Exception, threading · 769

invalid_argument: Standard C++ library exception type · 61

iostream: and threads (concurrency), colliding output · 757

IOSTREAM.H · 197

iostreams: applicator · 231; automatic · 219; buffering · 200; dec · 225; dec (decimal) · 225; endl · 225; files · 188; fixed · 227; flush · 224, 225; format flags · 215; formatting manipulators · 224; fseek( ) · 203; get( ) · 198; getline( ) · 198; hex · 225; hex (hexadecimal) · 225; ignore( ) · 198; internal · 226; internal formatting data · 215; ios::basefield · 217; ios::beg · 204; ios::cur · 204; ios::dec · 218; ios::end · 204; ios::fill( ) · 220; ios::fixed · 218; ios::flags( ) · 215; ios::hex · 218; ios::internal · 219; ios::left · 219; ios::oct · 218; ios::precision( ) · 220; ios::right · 219; ios::scientific · 218; ios::showbase · 216; ios::showpoint · 216; ios::showpos · 216; ios::skipws · 216; ios::unitbuf · 216; ios::uppercase · 216; ios::width( ) · 220; left · 226; manipulators, creating · 230; noshowbase · 225; noshowpoint · 226; noshowpos · 226; noskipws · 226; nouppercase · 226; oct (octal) · 225; open modes · 199; precision( ) · 244; rdbuf( ) · 201; resetiosflags · 227; right · 226; scientific · 227; seekg( ) · 204; seeking in · 203; seekp( ) · 204; setbase · 227; setf( ) · 215, 244; setfill · 227; setiosflags · 227; setprecision · 228; showbase · 225; showpoint · 226; showpos · 226; skipws · 226; tellg( ) · 204; tellp( ) · 204; uppercase · 226; width, fill and precision · 219; ws · 225

istream · 182

istringstreams · 182

istrstream · 207

iterator · 665

J

Java: and concurrency/threads · 722

Josee Lajoie · 84

K

keyword: catch · 39

L

lazy initialization · 666

length_error: Standard C++ library exception type · 61

library: maintaining class source · 235

LIMITS.H · 234

line input · 188

Linux: and ZThreads · 724

logic_error: Standard C++ library exception type · 60

logic_error class · 58

longjmp( ) · 35

M

maintaining class library source · 235

manipulator: creating · 230; iostreams formatting · 224

memory management, and threads · 740

modes, iostream open · 199

modulus operator · 247

monolithic · 622

multiple dispatching · 710

multiple inheritance: and run-time type identification · 608, 611, 619; duplicate subobjects · 635; exception handling · 79; repairing an interface · 655

multiprocessor machine, and threading · 720

multitasking · 719

multithreading · 719; drawbacks · 803

multithreading library for C++, ZThread · 722

mutex: ZThread FastMutex · 761

mutex, simplifying with the Guard template · 750

mutex, threading · 772

mutual exclusion, in threads · 749

N

naked pointers, and exception handling · 50

non-local goto: setjmp( ) and longjmp( ) · 35

notifyObservers( ) · 699, 702

O

object: object-based hierarchy · 622; slicing, and exception handling · 42; temporary · 234

Observable · 699

observer design pattern · 699

oct · 225

ofstream · 182, 196

open modes, iostreams · 199

operator: [] · 54; << · 184; >> · 184; modulus · 247

optimization: throughput, with threading · 720

order: of constructor and destructor calls · 610

order, controlling initialization · 667

ostream · 182, 198

ostringstreams · 182

ostrstream · 207

out_of_range: Standard C++ library exception type · 61

output: stream formatting · 214

overhead: exception handling · 81

P

Park, Nick · 291

patterns, design patterns · 663

perror( ) · 34

philosophers, dining and threading · 795

pointer: pointer to a function · 47

polymorphism · 613

PoolExecutor (Concurrency) · 732

precision: width, fill, iostream · 219

precision( ) · 244

preprocessor: stringizing · 222

printf( ) · 180, 214; error code · 33; run-time interpreter · 180

priority, thread · 738

private: constructor · 666

process, and threading · 719

producer-consumer, threading · 777

put pointer · 204

Q

queues, thread, for problem-solving · 781

R

race condition · 746

RAII · 52, 56

raise( ) · 34

rand( ) · 246

RAND_MAX · 247

raw, reading bytes · 191

rdbuf( ) · 201

read( ) · 191

reading raw bytes · 191

reference: and exception handling · 80; exception handling · 54

reference counting, and ZThreads (Concurrency) · 741

reporting errors in book · 26

Resource: Acquisition Is Initialization · 52

Resource Acquisition Is Initialization · 52

responsive user interfaces · 728