View the Index
Total Page:16
File Type:pdf, Size:1020Kb
INDEX Symbols and Numbers <boost/graph/ adjacency_list.hpp>, 455 ::testin g:: , 328 adjacency_matrix.hpp>, 455 =0 (pure virtual methods), 138 edge_list.hpp>, 455 2001: A Space Odyssey, li, 353 <boost/heap/*.hpp>, 453 The 300, 685 <boost/intrusive/*.hpp> 42six, 500 associative containers, 453 <algorithm>, 576–628 sequential containers, 434 <any> , 378–379 <boost/lexical_cast.hpp>, 500 <array> , 408 <boost/logic/tribool.hpp>, 370 <atomic> , 653 <boost/math/constants/constants.hpp>, 394 std::system /bin/sh (and ), 697 <boost/multi_array.hpp>, 434 <bitset> , 432–433 <boost/multi_index_container.hpp>, 453 <boost/algorithm/ <boost/numeric/conversion/converter searching/boyer_moore.hpp> , 713 .hpp>, 401 string/case_conv.hpp> , 515 <boost/optional.hpp>, 372 string/classification.hpp> , 512, 513 <boost/pair.hpp>, 374 string/find.hpp> , 519 <boost/program_options.hpp>, 700 string/finder.hpp> , 514 <boost/property_tree/ string/join.hpp> , 517 json_parser.hpp>, 456 string/predicate.hpp> , 511 ptree.hpp>, 456 string/replace.hpp> , 515 <boost/ptr_container/*.hpp> string/split.hpp>, 517 associative containers, 453 string/trim.hpp>, 515 sequential containers, 434 <boost/any.hpp> , 378 <boost/smart_ptr/ <boost/array.hpp> , 408 intrusive_ptr.hpp>, 363 <boost/asio.hpp> , 664 shared_array.hpp>, 356 <boost/bimap.hpp> , 453 shared_ptr.hpp>, 356 <boost/chrono.hpp> , 387 <boost/test/included/unit_test.hpp>, 318 <boost/circular_buffer.hpp> , 434 <boost/timer/timer.hpp>, 390 <boost/container/ <boost/tuple/tuple.hpp>, 376 deque.hpp> , 424 <boost/unordered_map.hpp>, 453 flat_map.hpp> , 453 <boost/unordered_set.hpp> flat_set.hpp>, 453 multiset, 446 list.hpp>, 425 set, 442 set.hpp> , 435 <boost/variant.hpp>, 379 slist.hpp> , 434 [[carries_dependency]], 224 small_vector.hpp> , 434 <chrono>, stable_vector.hpp>, 434 Chrono library, 387 static_vector.hpp>, 434 literals, 197 <boost/date_time/ <cmath>, 393 posix_time/posix_time.hpp> , 386 <complex>, 393 time_zone_base.hpp> , 386 <condition_variable>, 656 __cplusplus, xlv <new> <csignal>, 699 allocators, 365 <cstdarg>, 250 overloading new, 189 <cstddef> [[nodiscard]], 224 size_t, 41 [[noreturn]], 224, 244 std::by te, 40 <numeric>, 629, 636 <cstdint>, 32 <optional>, 372 <cstdio> <ostream>, 524 Hello, world!, 4 #pragma once, 710 printf pedagogy, 19 <queue>, 429–430 <cstdlib> <random>, 396–398 environment variables, 698 <ratio>, 403 program termination, 693 <regex>, 503 <cstring>, 109 <set> <cwchar>, 46 multiset, 441 [[deprecated]], 224 set, 435 <deque>, 424 <shared_mutex>, 649 #else, 709 <stack>, 427 <errno.h>, 353 <stdexcept> <execution>, 575 runtime error, 98 [[fallthrough]], 224 standard exception classes, 101 <filesystem>, 552 <system_error>, 102 <fstream>, 542 <thread> <functional>, 269 low-level concurrency, 658 <future>, 640 waiting, 389 #ifndef, 709 <tuple>, 376 #include <type_traits> double inclusion, 710 example using, 227 explanation of, 5 explanation of, 164 <initializer_list>, 457 <unordered_set> <iomanip>, 554 unordered multiset, 446 <iostream>, 524 unordered set, 442 <istream>, 524 <utility>, 374 <iterator> <variant>, 379 auxiliary functions, 472 <vector>, 415 insert iterators, 464 iterator adapters, 476 A reverse iterator adapters, 477 std::size, 45 A, 328 <limits>, 188 abs, 392, 394 <list>, 425 absolute path, 552 <locale>, 521 absolute value, 28 <map> acceptance test, 282 maps, 446 access controls, 56 multimaps, 452 access violation, 76 [[maybe_unused]], 224 acos, 392, 394 <memory> acosh, 393 memory operations, 636 action, 324 shared pointer, 356 addition +, 183 unique pointer, 349 addition assignment, 184 <mutex>, 649 address-of & operator, 185 716 Index address space layout randomization asin, 392, 394 (ASLR), 69 asinh, 393 adjacent difference (operation), 633 Asimov, Isaac, 273–274 Advanced Package Tool (APT), 10 ASLR (address space layout After (HippoMocks), 333 randomization), 69 Alexandrescu, Andrei, 178 ASSERT_ algorithm, xlviii, 407, 573 ANY_THROW, 312 complexity, 574 DOUBLE_EQ, 312 allocation EQ, 312 object lifecycle, 90 FALSE, 312 dynamic storage, 95 FLOAT_EQ, 312 smart pointers, 341 GE, 312 AlphaHistogram, 275 GT, 312 ALT-J, 526 HRESULT_FAILED, 312 American Standard Code for HRESULT_SUCCEEDED, 312 Information Interchange. LE, 312 See ASCII LT, 312 An, 328 NE, 312 Anathem (Stephenson), 84 NO_THROW, 312 AND operator STRCASEEQ, 312 Boolean &, 182 STRCASENE, 312 logical &&, 182 STREQ, 312 The Answer to the Ultimate Question STRNE, 312 of Life, the Universe, and THROW, 312 Everything, 251 TRUE, 312 AnyNumber, 328 assertions Apple, 8, 32. See macOS with Boost Test, 319 Approx, 307 with Catch, 305 APT (Advanced Package Tool), 10 description of, 288 Aqua Teen Hunger Force, 514 with Google Test, 312 arg (std::complex), 394 assert_that, 288 argc and argv assigned numbers (IANA), 667 Boost ProgramOptions, 704 assignment operator, 184 main, 272 associative arguments (to a function), 16 arrays, 446 arithmetic operators, 182 containers, 434 array asterisk (the many uses of), 70 decay to a pointer, 72–74 asynchronous description, 42–43 operations, 664 dynamic, 96 procedure call, 651 initialization of, 61 task, 640 new/delete expressions, 96 atan, 392, 394 reference, 175 atanh, 393 size of, 45 atomic, 653 std::array, 408 AtLeast, 328 The Art of Assembly Language, 2nd Edition AtMost, 328 (Hyde), xxxix attribute, 223 ASCII (American Standard Code for Aumasson, Jean-Philippe, 396 Information Interchange) Austin Powers: International Man of table, 47 Mystery, 515 example histogram, 274 string comparisons, 488 Index 717 auto, xlii array, 408 code refactoring, 85 asio, 663–689 initialization, 84 bimap, 453 modifiers, 85 char_separator, 520 type deduction, 84–86 circular_buffer, 434 automatic object, 90 compressed_pair, 374 automatic storage duration, 90 container, 415–453 autonomous vehicle, 283 converter, 401 auto type deduction, 248 edge_list, 455 auxiliary iterator function, 472 get, 376 Averageable (concept), 168 gregorian, 383, 384, 385 Avogadro’s number, 36 heap, 453 intrusive, 434, 453 B intrusive_ptr, 363 lexical_cast, 500 Bachmann-Landau notation, 574 logic, 370 Back to the Future, 641 math, 394 badbit, 530 multi_array, 434 bad_file_descriptor (std:errc), 102 multi_index_container, 453 Bank, 134 num_edges, 455 Batman: The Dark Knight, 534 num_vertices, 455 Battlestar Galactica, 110 numeric, 402 begin (iterators), 467 numeric_cast, 403 benzodiazepine receptor agonist, optional, 372 202–203 program_options, 701–704 Between, 328 property_tree, 456 bgp, 667 ptr_list, 434 bidirectional range, 511 ptr_map, 453 The Big Lebowski, 534 ptr_set, 453 Big O notation, 574 ptr_unordered_map, 453 binary arithmetic operators, 183 ptr_unordered_set, 453 binary integers, 33 ptr_vector, 434 binary mode (file), 542 scoped_array, 348 binary search, 617 scoped_ptr, 342 Bindels, Peter, xxv, 332 shared_array, 356 bitset, 432 system, 664 bitwise logical operators, 182 timer, 390 Bladerunner, 121 tokenizer, 520 blocks, 212 tuple, 376 block scope, 212 unordered_map, 453 Book of Revelation, 153 unordered_multimap, 453 Boolean/integer conversion, 38 unordered_multiset, 446 Boolean literal, 38 unordered_set, 442 bool, 38 variant, 379 b o ost:: weak_ptr, 361 add_edge, 455 Boost add_vertex, 455 Beast, 689 adjacency_list, 455 Libraries, 317 adjacency_matrix, 455 Container, 433 adjacent_vertices, 455 DateTime, 383 algorithm, 510–520, 637 Graph Library, 455 any, 378, 705 IOStream, 549 718 Index Math, 392 CarDetected, 283 ProgramOptions, 700 case, 50, 229 Python, 712 casting, 201 String Algorithms, 510 Catch, 304, 344 Test, 317–322 CATCH_CONFIG_MAIN, 304, 344 Tokenizer, 520 cbegin (iterators), 467 BOOST_ cbrt, 392 AUTO_TEST_CASE, 317–322 ceil, 393 FIXTURE_TEST_CASE, 317–322 cend (iterators), 467 TEST, 317–322 char, 36 TEST_MODULE, 317–322 character literals, 37 Boston Corbett, 245 CharCategory, 613 Boyer-Moore, 713 Charles VII, 598 braced initialization, 59, 83, 417 CHECK, 304, 344 braces, 15 CHECK_NOTHROW, 304, 344 BrakeCommand, 283 CHECK_THROWS_AS, 304, 344 break CheckedInteger, 187 keyword, 50 Clang, 9 statement, 238 class Bucket (class), 190 constructor, 58 buckets fully featured, 54 for memory allocation, 190 hierarchy, 138 for unordered sets, 442 initialization, 59 buffer, 671 initializing PODs, 60 buffering, 532 invariant, li, 58 buffer overflow, 74–75 as keyword, 56 BugblatterBeast, 379 methods, 55 built-in types, 31 plain-old-data, 52 byte pointer, 76 as template parameter, 150 bytes, 40 vs. struct, 57 client, 666 C Clock of the Long Now, 55 closed range, 413 C, xxv, xxxvii, 34 cmd.exe, 697 C++ 20, 163 C++Now, 29 The C++ Programming Language, code instrumentation, 282 4th Edition (Stroustrup), code reuse, 149 xxxii, 137, 159, 198, 415 Color, 205 The C++ Standard Library, 2nd Edition command line parameters, 272 (Josuttis), 164, 415, 444, 535 comments, 21 C++ Templates: The Complete Guide comparator object, 430, 435 (Vandevoorde et al.), 178 comparison operators, 15, 185, 611 CADRe, liii, 108 compiler, 4 Caesar cipher, 418 definition of, 5 calculator program, 528 tool chain, 5 callable type, 255 Compiler Explorer, 6 callback, 664 compiler-generated methods, 129 call stack, 105 compiler optimization, 710 exception unwinding, 111 compile-time canonical path, 552 control structures, 178 capture list (lambda), 262 recursion, 252 carbon_thaw, 152 complement ~, 182 Index 719 completion condition (Boost Asio), 675 C-style complexity, 574 APIs, 74 complex number, 393 cast, 202 compound statements, 15, 212 strings, 45 concepts, 163 cumulative sum, 537 concrete class/type, 150 cursor (stream), 548 concurrency, 640 hint, 664 D conditional