%PDF-1.5 %ÐÔÅØ 1 0 obj << /S /GoTo /D (section*.1) >> endobj 4 0 obj (Contents) endobj 5 0 obj << /S /GoTo /D (section*.2) >> endobj 8 0 obj (List of Tables) endobj 9 0 obj << /S /GoTo /D (section*.3) >> endobj 12 0 obj (List of Figures) endobj 13 0 obj << /S /GoTo /D (chapter.1) >> endobj 16 0 obj (1 General) endobj 17 0 obj << /S /GoTo /D (section.1.1) >> endobj 20 0 obj (1.1 Scope) endobj 21 0 obj << /S /GoTo /D (section.1.2) >> endobj 24 0 obj (1.2 Normative references) endobj 25 0 obj << /S /GoTo /D (section.1.3) >> endobj 28 0 obj (1.3 Implementation compliance) endobj 29 0 obj << /S /GoTo /D (section.1.4) >> endobj 32 0 obj (1.4 Acknowledgments) endobj 33 0 obj << /S /GoTo /D (chapter.6) >> endobj 36 0 obj (6 Statements) endobj 37 0 obj << /S /GoTo /D (section.6.5) >> endobj 40 0 obj (6.5 Iteration statements) endobj 41 0 obj << /S /GoTo /D (subsection.6.5.4) >> endobj 44 0 obj (6.5.4 The range-based for statement) endobj 45 0 obj << /S /GoTo /D (chapter.19) >> endobj 48 0 obj (19 Concepts library) endobj 49 0 obj << /S /GoTo /D (section.19.1) >> endobj 52 0 obj (19.1 General) endobj 53 0 obj << /S /GoTo /D (section.19.2) >> endobj 56 0 obj (19.2 Core language concepts) endobj 57 0 obj << /S /GoTo /D (subsection.19.2.1) >> endobj 60 0 obj (19.2.1 In general) endobj 61 0 obj << /S /GoTo /D (subsection.19.2.2) >> endobj 64 0 obj (19.2.2 Concept Same) endobj 65 0 obj << /S /GoTo /D (subsection.19.2.3) >> endobj 68 0 obj (19.2.3 Concept Derived) endobj 69 0 obj << /S /GoTo /D (subsection.19.2.4) >> endobj 72 0 obj (19.2.4 Concept Convertible) endobj 73 0 obj << /S /GoTo /D (subsection.19.2.5) >> endobj 76 0 obj (19.2.5 Concept Common) endobj 77 0 obj << /S /GoTo /D (subsection.19.2.6) >> endobj 80 0 obj (19.2.6 Concept Boolean) endobj 81 0 obj << /S /GoTo /D (subsection.19.2.7) >> endobj 84 0 obj (19.2.7 Concept Integral) endobj 85 0 obj << /S /GoTo /D (subsection.19.2.8) >> endobj 88 0 obj (19.2.8 Concept SignedIntegral) endobj 89 0 obj << /S /GoTo /D (subsection.19.2.9) >> endobj 92 0 obj (19.2.9 Concept UnsignedIntegral) endobj 93 0 obj << /S /GoTo /D (subsection.19.2.10) >> endobj 96 0 obj (19.2.10 Concept DefaultConstructible) endobj 97 0 obj << /S /GoTo /D (subsection.19.2.11) >> endobj 100 0 obj (19.2.11 Concept MoveConstructible) endobj 101 0 obj << /S /GoTo /D (subsection.19.2.12) >> endobj 104 0 obj (19.2.12 Concept CopyConstructible) endobj 105 0 obj << /S /GoTo /D (subsection.19.2.13) >> endobj 108 0 obj (19.2.13 Concept Constructible) endobj 109 0 obj << /S /GoTo /D (subsection.19.2.14) >> endobj 112 0 obj (19.2.14 Concept Destructible) endobj 113 0 obj << /S /GoTo /D (subsection.19.2.15) >> endobj 116 0 obj (19.2.15 Concept MoveAssignable) endobj 117 0 obj << /S /GoTo /D (subsection.19.2.16) >> endobj 120 0 obj (19.2.16 Concept CopyAssignable) endobj 121 0 obj << /S /GoTo /D (subsection.19.2.17) >> endobj 124 0 obj (19.2.17 Concept Swappable) endobj 125 0 obj << /S /GoTo /D (section.19.3) >> endobj 128 0 obj (19.3 Foundational concepts) endobj 129 0 obj << /S /GoTo /D (subsection.19.3.1) >> endobj 132 0 obj (19.3.1 In general) endobj 133 0 obj << /S /GoTo /D (subsection.19.3.2) >> endobj 136 0 obj (19.3.2 Concept EqualityComparable) endobj 137 0 obj << /S /GoTo /D (subsection.19.3.3) >> endobj 140 0 obj (19.3.3 Concept Semiregular) endobj 141 0 obj << /S /GoTo /D (subsection.19.3.4) >> endobj 144 0 obj (19.3.4 Concept Regular) endobj 145 0 obj << /S /GoTo /D (subsection.19.3.5) >> endobj 148 0 obj (19.3.5 Concept TotallyOrdered) endobj 149 0 obj << /S /GoTo /D (section.19.4) >> endobj 152 0 obj (19.4 Function concepts) endobj 153 0 obj << /S /GoTo /D (subsection.19.4.1) >> endobj 156 0 obj (19.4.1 In general) endobj 157 0 obj << /S /GoTo /D (subsection.19.4.2) >> endobj 160 0 obj (19.4.2 Concept Function) endobj 161 0 obj << /S /GoTo /D (subsection.19.4.3) >> endobj 164 0 obj (19.4.3 Concept RegularFunction) endobj 165 0 obj << /S /GoTo /D (subsection.19.4.4) >> endobj 168 0 obj (19.4.4 Concept Predicate) endobj 169 0 obj << /S /GoTo /D (subsection.19.4.5) >> endobj 172 0 obj (19.4.5 Concept Relation) endobj 173 0 obj << /S /GoTo /D (chapter.20) >> endobj 176 0 obj (20 General utilities library) endobj 177 0 obj << /S /GoTo /D (section.20.9) >> endobj 180 0 obj (20.9 Function objects) endobj 181 0 obj << /S /GoTo /D (subsection.20.9.6) >> endobj 184 0 obj (20.9.6 Comparisons) endobj 185 0 obj << /S /GoTo /D (subsection.20.9.13) >> endobj 188 0 obj (20.9.13 Class identity) endobj 189 0 obj << /S /GoTo /D (chapter.24) >> endobj 192 0 obj (24 Iterators library) endobj 193 0 obj << /S /GoTo /D (section.24.1) >> endobj 196 0 obj (24.1 General) endobj 197 0 obj << /S /GoTo /D (section.24.2) >> endobj 200 0 obj (24.2 Iterator requirements) endobj 201 0 obj << /S /GoTo /D (subsection.24.2.1) >> endobj 204 0 obj (24.2.1 In general) endobj 205 0 obj << /S /GoTo /D (subsection.24.2.2) >> endobj 208 0 obj (24.2.2 Readable types) endobj 209 0 obj << /S /GoTo /D (subsection.24.2.3) >> endobj 212 0 obj (24.2.3 MoveWritable types) endobj 213 0 obj << /S /GoTo /D (subsection.24.2.4) >> endobj 216 0 obj (24.2.4 Writable types) endobj 217 0 obj << /S /GoTo /D (subsection.24.2.5) >> endobj 220 0 obj (24.2.5 IndirectlyMovable types) endobj 221 0 obj << /S /GoTo /D (subsection.24.2.6) >> endobj 224 0 obj (24.2.6 IndirectlyCopyable types) endobj 225 0 obj << /S /GoTo /D (subsection.24.2.7) >> endobj 228 0 obj (24.2.7 IndirectlySwappable types) endobj 229 0 obj << /S /GoTo /D (subsection.24.2.8) >> endobj 232 0 obj (24.2.8 WeaklyIncrementable types) endobj 233 0 obj << /S /GoTo /D (subsection.24.2.9) >> endobj 236 0 obj (24.2.9 Incrementable types) endobj 237 0 obj << /S /GoTo /D (subsection.24.2.10) >> endobj 240 0 obj (24.2.10 Weak iterators) endobj 241 0 obj << /S /GoTo /D (subsection.24.2.11) >> endobj 244 0 obj (24.2.11 Iterators) endobj 245 0 obj << /S /GoTo /D (subsection.24.2.12) >> endobj 248 0 obj (24.2.12 Sentinels) endobj 249 0 obj << /S /GoTo /D (subsection.24.2.13) >> endobj 252 0 obj (24.2.13 Weak input iterators) endobj 253 0 obj << /S /GoTo /D (subsection.24.2.14) >> endobj 256 0 obj (24.2.14 Input iterators) endobj 257 0 obj << /S /GoTo /D (subsection.24.2.15) >> endobj 260 0 obj (24.2.15 Weak output iterators) endobj 261 0 obj << /S /GoTo /D (subsection.24.2.16) >> endobj 264 0 obj (24.2.16 Output iterators) endobj 265 0 obj << /S /GoTo /D (subsection.24.2.17) >> endobj 268 0 obj (24.2.17 Forward iterators) endobj 269 0 obj << /S /GoTo /D (subsection.24.2.18) >> endobj 272 0 obj (24.2.18 Bidirectional iterators) endobj 273 0 obj << /S /GoTo /D (subsection.24.2.19) >> endobj 276 0 obj (24.2.19 Random access iterators) endobj 277 0 obj << /S /GoTo /D (section.24.3) >> endobj 280 0 obj (24.3 Indirect callable requirements) endobj 281 0 obj << /S /GoTo /D (subsection.24.3.1) >> endobj 284 0 obj (24.3.1 In general) endobj 285 0 obj << /S /GoTo /D (subsection.24.3.2) >> endobj 288 0 obj (24.3.2 Function type) endobj 289 0 obj << /S /GoTo /D (subsection.24.3.3) >> endobj 292 0 obj (24.3.3 Projected iterator) endobj 293 0 obj << /S /GoTo /D (subsection.24.3.4) >> endobj 296 0 obj (24.3.4 Indirect callables) endobj 297 0 obj << /S /GoTo /D (section.24.4) >> endobj 300 0 obj (24.4 Common algorithm requirements) endobj 301 0 obj << /S /GoTo /D (subsection.24.4.1) >> endobj 304 0 obj (24.4.1 In general) endobj 305 0 obj << /S /GoTo /D (subsection.24.4.2) >> endobj 308 0 obj (24.4.2 Indirectly comparable iterators) endobj 309 0 obj << /S /GoTo /D (subsection.24.4.3) >> endobj 312 0 obj (24.4.3 Permutable iterators) endobj 313 0 obj << /S /GoTo /D (subsection.24.4.4) >> endobj 316 0 obj (24.4.4 Mergeable iterators) endobj 317 0 obj << /S /GoTo /D (subsection.24.4.5) >> endobj 320 0 obj (24.4.5 MergeMovable iterators) endobj 321 0 obj << /S /GoTo /D (subsection.24.4.6) >> endobj 324 0 obj (24.4.6 Sortable iterators) endobj 325 0 obj << /S /GoTo /D (section.24.5) >> endobj 328 0 obj (24.5 Iterator range requirements) endobj 329 0 obj << /S /GoTo /D (subsection.24.5.1) >> endobj 332 0 obj (24.5.1 Sized Iterator range) endobj 333 0 obj << /S /GoTo /D (section.24.6) >> endobj 336 0 obj (24.6 Header synopsis) endobj 337 0 obj << /S /GoTo /D (section.24.7) >> endobj 340 0 obj (24.7 Iterator primitives) endobj 341 0 obj << /S /GoTo /D (subsection.24.7.1) >> endobj 344 0 obj (24.7.1 Iterator traitsassociated types) endobj 345 0 obj << /S /GoTo /D (subsection.24.7.2) >> endobj 348 0 obj (24.7.2 Basic iterator) endobj 349 0 obj << /S /GoTo /D (subsection.24.7.3) >> endobj 352 0 obj (24.7.3 Standard iterator tags) endobj 353 0 obj << /S /GoTo /D (subsection.24.7.4) >> endobj 356 0 obj (24.7.4 Iterator operations) endobj 357 0 obj << /S /GoTo /D (section.24.8) >> endobj 360 0 obj (24.8 Iterator adaptors) endobj 361 0 obj << /S /GoTo /D (subsection.24.8.1) >> endobj 364 0 obj (24.8.1 Reverse iterators) endobj 365 0 obj << /S /GoTo /D (subsubsection.24.8.1.1) >> endobj 368 0 obj (24.8.1.1 Class template reverse\137iterator) endobj 369 0 obj << /S /GoTo /D (subsubsection.24.8.1.2) >> endobj 372 0 obj (24.8.1.2 reverse\137iterator requirements) endobj 373 0 obj << /S /GoTo /D (subsubsection.24.8.1.3) >> endobj 376 0 obj (24.8.1.3 reverse\137iterator operations) endobj 377 0 obj << /S /GoTo /D (paragraph.24.8.1.3.1) >> endobj 380 0 obj (24.8.1.3.1 reverse\137iterator constructor) endobj 381 0 obj << /S /GoTo /D (paragraph.24.8.1.3.2) >> endobj 384 0 obj (24.8.1.3.2 reverse\137iterator::operator=) endobj 385 0 obj << /S /GoTo /D (paragraph.24.8.1.3.3) >> endobj 388 0 obj (24.8.1.3.3 Conversion) endobj 389 0 obj << /S /GoTo /D (paragraph.24.8.1.3.4) >> endobj 392 0 obj (24.8.1.3.4 operator*) endobj 393 0 obj << /S /GoTo /D (paragraph.24.8.1.3.5) >> endobj 396 0 obj (24.8.1.3.5 operator->) endobj 397 0 obj << /S /GoTo /D (paragraph.24.8.1.3.6) >> endobj 400 0 obj (24.8.1.3.6 operator++) endobj 401 0 obj << /S /GoTo /D (paragraph.24.8.1.3.7) >> endobj 404 0 obj (24.8.1.3.7 operator--) endobj 405 0 obj << /S /GoTo /D (paragraph.24.8.1.3.8) >> endobj 408 0 obj (24.8.1.3.8 operator+) endobj 409 0 obj << /S /GoTo /D (paragraph.24.8.1.3.9) >> endobj 412 0 obj (24.8.1.3.9 operator+=) endobj 413 0 obj << /S /GoTo /D (paragraph.24.8.1.3.10) >> endobj 416 0 obj (24.8.1.3.10 operator-) endobj 417 0 obj << /S /GoTo /D (paragraph.24.8.1.3.11) >> endobj 420 0 obj (24.8.1.3.11 operator-=) endobj 421 0 obj << /S /GoTo /D (paragraph.24.8.1.3.12) >> endobj 424 0 obj (24.8.1.3.12 operator[]) endobj 425 0 obj << /S /GoTo /D (paragraph.24.8.1.3.13) >> endobj 428 0 obj (24.8.1.3.13 operator==) endobj 429 0 obj << /S /GoTo /D (paragraph.24.8.1.3.14) >> endobj 432 0 obj (24.8.1.3.14 operator<) endobj 433 0 obj << /S /GoTo /D (paragraph.24.8.1.3.15) >> endobj 436 0 obj (24.8.1.3.15 operator!=) endobj 437 0 obj << /S /GoTo /D (paragraph.24.8.1.3.16) >> endobj 440 0 obj (24.8.1.3.16 operator>) endobj 441 0 obj << /S /GoTo /D (paragraph.24.8.1.3.17) >> endobj 444 0 obj (24.8.1.3.17 operator>=) endobj 445 0 obj << /S /GoTo /D (paragraph.24.8.1.3.18) >> endobj 448 0 obj (24.8.1.3.18 operator<=) endobj 449 0 obj << /S /GoTo /D (paragraph.24.8.1.3.19) >> endobj 452 0 obj (24.8.1.3.19 operator-) endobj 453 0 obj << /S /GoTo /D (paragraph.24.8.1.3.20) >> endobj 456 0 obj (24.8.1.3.20 operator+) endobj 457 0 obj << /S /GoTo /D (paragraph.24.8.1.3.21) >> endobj 460 0 obj (24.8.1.3.21 Non-member function make\137reverse\137iterator\(\)) endobj 461 0 obj << /S /GoTo /D (subsection.24.8.2) >> endobj 464 0 obj (24.8.2 Insert iterators) endobj 465 0 obj << /S /GoTo /D (subsubsection.24.8.2.1) >> endobj 468 0 obj (24.8.2.1 Class template back\137insert\137iterator) endobj 469 0 obj << /S /GoTo /D (subsubsection.24.8.2.2) >> endobj 472 0 obj (24.8.2.2 back\137insert\137iterator operations) endobj 473 0 obj << /S /GoTo /D (paragraph.24.8.2.2.1) >> endobj 476 0 obj (24.8.2.2.1 back\137insert\137iterator constructor) endobj 477 0 obj << /S /GoTo /D (paragraph.24.8.2.2.2) >> endobj 480 0 obj (24.8.2.2.2 back\137insert\137iterator::operator=) endobj 481 0 obj << /S /GoTo /D (paragraph.24.8.2.2.3) >> endobj 484 0 obj (24.8.2.2.3 back\137insert\137iterator::operator*) endobj 485 0 obj << /S /GoTo /D (paragraph.24.8.2.2.4) >> endobj 488 0 obj (24.8.2.2.4 back\137insert\137iterator::operator++) endobj 489 0 obj << /S /GoTo /D (paragraph.24.8.2.2.5) >> endobj 492 0 obj (24.8.2.2.5 \040back\137inserter) endobj 493 0 obj << /S /GoTo /D (subsubsection.24.8.2.3) >> endobj 496 0 obj (24.8.2.3 Class template front\137insert\137iterator) endobj 497 0 obj << /S /GoTo /D (subsubsection.24.8.2.4) >> endobj 500 0 obj (24.8.2.4 front\137insert\137iterator operations) endobj 501 0 obj << /S /GoTo /D (paragraph.24.8.2.4.1) >> endobj 504 0 obj (24.8.2.4.1 front\137insert\137iterator constructor) endobj 505 0 obj << /S /GoTo /D (paragraph.24.8.2.4.2) >> endobj 508 0 obj (24.8.2.4.2 front\137insert\137iterator::operator=) endobj 509 0 obj << /S /GoTo /D (paragraph.24.8.2.4.3) >> endobj 512 0 obj (24.8.2.4.3 front\137insert\137iterator::operator*) endobj 513 0 obj << /S /GoTo /D (paragraph.24.8.2.4.4) >> endobj 516 0 obj (24.8.2.4.4 front\137insert\137iterator::operator++) endobj 517 0 obj << /S /GoTo /D (paragraph.24.8.2.4.5) >> endobj 520 0 obj (24.8.2.4.5 front\137inserter) endobj 521 0 obj << /S /GoTo /D (subsubsection.24.8.2.5) >> endobj 524 0 obj (24.8.2.5 Class template insert\137iterator) endobj 525 0 obj << /S /GoTo /D (subsubsection.24.8.2.6) >> endobj 528 0 obj (24.8.2.6 insert\137iterator operations) endobj 529 0 obj << /S /GoTo /D (paragraph.24.8.2.6.1) >> endobj 532 0 obj (24.8.2.6.1 insert\137iterator constructor) endobj 533 0 obj << /S /GoTo /D (paragraph.24.8.2.6.2) >> endobj 536 0 obj (24.8.2.6.2 insert\137iterator::operator=) endobj 537 0 obj << /S /GoTo /D (paragraph.24.8.2.6.3) >> endobj 540 0 obj (24.8.2.6.3 insert\137iterator::operator*) endobj 541 0 obj << /S /GoTo /D (paragraph.24.8.2.6.4) >> endobj 544 0 obj (24.8.2.6.4 insert\137iterator::operator++) endobj 545 0 obj << /S /GoTo /D (paragraph.24.8.2.6.5) >> endobj 548 0 obj (24.8.2.6.5 inserter) endobj 549 0 obj << /S /GoTo /D (subsection.24.8.3) >> endobj 552 0 obj (24.8.3 Move iterators) endobj 553 0 obj << /S /GoTo /D (subsubsection.24.8.3.1) >> endobj 556 0 obj (24.8.3.1 Class template move\137iterator) endobj 557 0 obj << /S /GoTo /D (subsubsection.24.8.3.2) >> endobj 560 0 obj (24.8.3.2 move\137iterator requirements) endobj 561 0 obj << /S /GoTo /D (subsubsection.24.8.3.3) >> endobj 564 0 obj (24.8.3.3 move\137iterator operations) endobj 565 0 obj << /S /GoTo /D (paragraph.24.8.3.3.1) >> endobj 568 0 obj (24.8.3.3.1 move\137iterator constructors) endobj 569 0 obj << /S /GoTo /D (paragraph.24.8.3.3.2) >> endobj 572 0 obj (24.8.3.3.2 move\137iterator::operator=) endobj 573 0 obj << /S /GoTo /D (paragraph.24.8.3.3.3) >> endobj 576 0 obj (24.8.3.3.3 move\137iterator conversion) endobj 577 0 obj << /S /GoTo /D (paragraph.24.8.3.3.4) >> endobj 580 0 obj (24.8.3.3.4 move\137iterator::operator*) endobj 581 0 obj << /S /GoTo /D (paragraph.24.8.3.3.5) >> endobj 584 0 obj (24.8.3.3.5 move\137iterator::operator->) endobj 585 0 obj << /S /GoTo /D (paragraph.24.8.3.3.6) >> endobj 588 0 obj (24.8.3.3.6 move\137iterator::operator++) endobj 589 0 obj << /S /GoTo /D (paragraph.24.8.3.3.7) >> endobj 592 0 obj (24.8.3.3.7 move\137iterator::operator--) endobj 593 0 obj << /S /GoTo /D (paragraph.24.8.3.3.8) >> endobj 596 0 obj (24.8.3.3.8 move\137iterator::operator+) endobj 597 0 obj << /S /GoTo /D (paragraph.24.8.3.3.9) >> endobj 600 0 obj (24.8.3.3.9 move\137iterator::operator+=) endobj 601 0 obj << /S /GoTo /D (paragraph.24.8.3.3.10) >> endobj 604 0 obj (24.8.3.3.10 move\137iterator::operator-) endobj 605 0 obj << /S /GoTo /D (paragraph.24.8.3.3.11) >> endobj 608 0 obj (24.8.3.3.11 move\137iterator::operator-=) endobj 609 0 obj << /S /GoTo /D (paragraph.24.8.3.3.12) >> endobj 612 0 obj (24.8.3.3.12 move\137iterator::operator[]) endobj 613 0 obj << /S /GoTo /D (paragraph.24.8.3.3.13) >> endobj 616 0 obj (24.8.3.3.13 move\137iterator comparisons) endobj 617 0 obj << /S /GoTo /D (paragraph.24.8.3.3.14) >> endobj 620 0 obj (24.8.3.3.14 move\137iterator non-member functions) endobj 621 0 obj << /S /GoTo /D (subsection.24.8.4) >> endobj 624 0 obj (24.8.4 Common iterators) endobj 625 0 obj << /S /GoTo /D (subsubsection.24.8.4.1) >> endobj 628 0 obj (24.8.4.1 Class template common\137iterator) endobj 629 0 obj << /S /GoTo /D (subsubsection.24.8.4.2) >> endobj 632 0 obj (24.8.4.2 common\137iterator operations) endobj 633 0 obj << /S /GoTo /D (paragraph.24.8.4.2.1) >> endobj 636 0 obj (24.8.4.2.1 common\137iterator constructors) endobj 637 0 obj << /S /GoTo /D (paragraph.24.8.4.2.2) >> endobj 640 0 obj (24.8.4.2.2 common\137iterator::operator=) endobj 641 0 obj << /S /GoTo /D (paragraph.24.8.4.2.3) >> endobj 644 0 obj (24.8.4.2.3 common\137iterator::operator*) endobj 645 0 obj << /S /GoTo /D (paragraph.24.8.4.2.4) >> endobj 648 0 obj (24.8.4.2.4 common\137iterator::operator++) endobj 649 0 obj << /S /GoTo /D (paragraph.24.8.4.2.5) >> endobj 652 0 obj (24.8.4.2.5 common\137iterator comparisons) endobj 653 0 obj << /S /GoTo /D (subsection.24.8.5) >> endobj 656 0 obj (24.8.5 Counted iterators and sentinels) endobj 657 0 obj << /S /GoTo /D (subsubsection.24.8.5.1) >> endobj 660 0 obj (24.8.5.1 Class template counted\137iterator) endobj 661 0 obj << /S /GoTo /D (subsubsection.24.8.5.2) >> endobj 664 0 obj (24.8.5.2 counted\137iterator operations) endobj 665 0 obj << /S /GoTo /D (paragraph.24.8.5.2.1) >> endobj 668 0 obj (24.8.5.2.1 counted\137iterator constructors) endobj 669 0 obj << /S /GoTo /D (paragraph.24.8.5.2.2) >> endobj 672 0 obj (24.8.5.2.2 counted\137iterator::operator=) endobj 673 0 obj << /S /GoTo /D (paragraph.24.8.5.2.3) >> endobj 676 0 obj (24.8.5.2.3 counted\137iterator conversion) endobj 677 0 obj << /S /GoTo /D (paragraph.24.8.5.2.4) >> endobj 680 0 obj (24.8.5.2.4 counted\137iterator count) endobj 681 0 obj << /S /GoTo /D (paragraph.24.8.5.2.5) >> endobj 684 0 obj (24.8.5.2.5 count\137iterator::operator*) endobj 685 0 obj << /S /GoTo /D (paragraph.24.8.5.2.6) >> endobj 688 0 obj (24.8.5.2.6 counted\137iterator::operator++) endobj 689 0 obj << /S /GoTo /D (paragraph.24.8.5.2.7) >> endobj 692 0 obj (24.8.5.2.7 counted\137iterator::operator--) endobj 693 0 obj << /S /GoTo /D (paragraph.24.8.5.2.8) >> endobj 696 0 obj (24.8.5.2.8 counted\137iterator::operator+) endobj 697 0 obj << /S /GoTo /D (paragraph.24.8.5.2.9) >> endobj 700 0 obj (24.8.5.2.9 counted\137iterator::operator+=) endobj 701 0 obj << /S /GoTo /D (paragraph.24.8.5.2.10) >> endobj 704 0 obj (24.8.5.2.10 counted\137iterator::operator-) endobj 705 0 obj << /S /GoTo /D (paragraph.24.8.5.2.11) >> endobj 708 0 obj (24.8.5.2.11 counted\137iterator::operator-=) endobj 709 0 obj << /S /GoTo /D (paragraph.24.8.5.2.12) >> endobj 712 0 obj (24.8.5.2.12 counted\137iterator::operator[]) endobj 713 0 obj << /S /GoTo /D (paragraph.24.8.5.2.13) >> endobj 716 0 obj (24.8.5.2.13 counted\137iterator comparisons) endobj 717 0 obj << /S /GoTo /D (paragraph.24.8.5.2.14) >> endobj 720 0 obj (24.8.5.2.14 counted\137iterator non-member functions) endobj 721 0 obj << /S /GoTo /D (subsubsection.24.8.5.3) >> endobj 724 0 obj (24.8.5.3 Counted sentinel) endobj 725 0 obj << /S /GoTo /D (subsubsection.24.8.5.4) >> endobj 728 0 obj (24.8.5.4 Specializations of common\137type) endobj 729 0 obj << /S /GoTo /D (subsection.24.8.6) >> endobj 732 0 obj (24.8.6 Unreachable sentinel) endobj 733 0 obj << /S /GoTo /D (subsubsection.24.8.6.1) >> endobj 736 0 obj (24.8.6.1 Class unreachable sentinel) endobj 737 0 obj << /S /GoTo /D (subsubsection.24.8.6.2) >> endobj 740 0 obj (24.8.6.2 unreachable operations) endobj 741 0 obj << /S /GoTo /D (paragraph.24.8.6.2.1) >> endobj 744 0 obj (24.8.6.2.1 operator==) endobj 745 0 obj << /S /GoTo /D (paragraph.24.8.6.2.2) >> endobj 748 0 obj (24.8.6.2.2 operator!=) endobj 749 0 obj << /S /GoTo /D (subsubsection.24.8.6.3) >> endobj 752 0 obj (24.8.6.3 Specializations of common\137type) endobj 753 0 obj << /S /GoTo /D (section.24.9) >> endobj 756 0 obj (24.9 Stream iterators) endobj 757 0 obj << /S /GoTo /D (subsection.24.9.1) >> endobj 760 0 obj (24.9.1 Class template istream\137iterator) endobj 761 0 obj << /S /GoTo /D (subsubsection.24.9.1.1) >> endobj 764 0 obj (24.9.1.1 istream\137iterator constructors and destructor) endobj 765 0 obj << /S /GoTo /D (subsubsection.24.9.1.2) >> endobj 768 0 obj (24.9.1.2 istream\137iterator operations) endobj 769 0 obj << /S /GoTo /D (subsection.24.9.2) >> endobj 772 0 obj (24.9.2 Class template ostream\137iterator) endobj 773 0 obj << /S /GoTo /D (subsubsection.24.9.2.1) >> endobj 776 0 obj (24.9.2.1 ostream\137iterator constructors and destructor) endobj 777 0 obj << /S /GoTo /D (subsubsection.24.9.2.2) >> endobj 780 0 obj (24.9.2.2 ostream\137iterator operations) endobj 781 0 obj << /S /GoTo /D (subsection.24.9.3) >> endobj 784 0 obj (24.9.3 Class template istreambuf\137iterator) endobj 785 0 obj << /S /GoTo /D (subsubsection.24.9.3.1) >> endobj 788 0 obj (24.9.3.1 Class template istreambuf\137iterator::proxy) endobj 789 0 obj << /S /GoTo /D (subsubsection.24.9.3.2) >> endobj 792 0 obj (24.9.3.2 istreambuf\137iterator constructors) endobj 793 0 obj << /S /GoTo /D (subsubsection.24.9.3.3) >> endobj 796 0 obj (24.9.3.3 istreambuf\137iterator::operator*) endobj 797 0 obj << /S /GoTo /D (subsubsection.24.9.3.4) >> endobj 800 0 obj (24.9.3.4 istreambuf\137iterator::operator++) endobj 801 0 obj << /S /GoTo /D (subsubsection.24.9.3.5) >> endobj 804 0 obj (24.9.3.5 istreambuf\137iterator::equal) endobj 805 0 obj << /S /GoTo /D (subsubsection.24.9.3.6) >> endobj 808 0 obj (24.9.3.6 operator==) endobj 809 0 obj << /S /GoTo /D (subsubsection.24.9.3.7) >> endobj 812 0 obj (24.9.3.7 operator!=) endobj 813 0 obj << /S /GoTo /D (subsection.24.9.4) >> endobj 816 0 obj (24.9.4 Class template ostreambuf\137iterator) endobj 817 0 obj << /S /GoTo /D (subsubsection.24.9.4.1) >> endobj 820 0 obj (24.9.4.1 ostreambuf\137iterator constructors) endobj 821 0 obj << /S /GoTo /D (subsubsection.24.9.4.2) >> endobj 824 0 obj (24.9.4.2 ostreambuf\137iterator operations) endobj 825 0 obj << /S /GoTo /D (section.24.10) >> endobj 828 0 obj (24.10 Iterable concepts) endobj 829 0 obj << /S /GoTo /D (subsection.24.10.1) >> endobj 832 0 obj (24.10.1 General) endobj 833 0 obj << /S /GoTo /D (subsection.24.10.2) >> endobj 836 0 obj (24.10.2 Iterable requirements) endobj 837 0 obj << /S /GoTo /D (subsubsection.24.10.2.1) >> endobj 840 0 obj (24.10.2.1 In general) endobj 841 0 obj << /S /GoTo /D (subsubsection.24.10.2.2) >> endobj 844 0 obj (24.10.2.2 Iterables) endobj 845 0 obj << /S /GoTo /D (subsubsection.24.10.2.3) >> endobj 848 0 obj (24.10.2.3 Sized iterables) endobj 849 0 obj << /S /GoTo /D (subsubsection.24.10.2.4) >> endobj 852 0 obj (24.10.2.4 Ranges) endobj 853 0 obj << /S /GoTo /D (subsubsection.24.10.2.5) >> endobj 856 0 obj (24.10.2.5 Bounded iterables) endobj 857 0 obj << /S /GoTo /D (subsubsection.24.10.2.6) >> endobj 860 0 obj (24.10.2.6 Input iterables) endobj 861 0 obj << /S /GoTo /D (subsubsection.24.10.2.7) >> endobj 864 0 obj (24.10.2.7 Forward iterables) endobj 865 0 obj << /S /GoTo /D (subsubsection.24.10.2.8) >> endobj 868 0 obj (24.10.2.8 Bidirectional iterables) endobj 869 0 obj << /S /GoTo /D (subsubsection.24.10.2.9) >> endobj 872 0 obj (24.10.2.9 Random access iterables) endobj 873 0 obj << /S /GoTo /D (section.24.11) >> endobj 876 0 obj (24.11 range access) endobj 877 0 obj << /S /GoTo /D (chapter.25) >> endobj 880 0 obj (25 Algorithms library) endobj 881 0 obj << /S /GoTo /D (section.25.1) >> endobj 884 0 obj (25.1 General) endobj 885 0 obj << /S /GoTo /D (section.25.2) >> endobj 888 0 obj (25.2 Non-modifying sequence operations) endobj 889 0 obj << /S /GoTo /D (subsection.25.2.1) >> endobj 892 0 obj (25.2.1 All of) endobj 893 0 obj << /S /GoTo /D (subsection.25.2.2) >> endobj 896 0 obj (25.2.2 Any of) endobj 897 0 obj << /S /GoTo /D (subsection.25.2.3) >> endobj 900 0 obj (25.2.3 None of) endobj 901 0 obj << /S /GoTo /D (subsection.25.2.4) >> endobj 904 0 obj (25.2.4 For each) endobj 905 0 obj << /S /GoTo /D (subsection.25.2.5) >> endobj 908 0 obj (25.2.5 Find) endobj 909 0 obj << /S /GoTo /D (subsection.25.2.6) >> endobj 912 0 obj (25.2.6 Find end) endobj 913 0 obj << /S /GoTo /D (subsection.25.2.7) >> endobj 916 0 obj (25.2.7 Find first) endobj 917 0 obj << /S /GoTo /D (subsection.25.2.8) >> endobj 920 0 obj (25.2.8 Adjacent find) endobj 921 0 obj << /S /GoTo /D (subsection.25.2.9) >> endobj 924 0 obj (25.2.9 Count) endobj 925 0 obj << /S /GoTo /D (subsection.25.2.10) >> endobj 928 0 obj (25.2.10 Mismatch) endobj 929 0 obj << /S /GoTo /D (subsection.25.2.11) >> endobj 932 0 obj (25.2.11 Equal) endobj 933 0 obj << /S /GoTo /D (subsection.25.2.12) >> endobj 936 0 obj (25.2.12 Is permutation) endobj 937 0 obj << /S /GoTo /D (subsection.25.2.13) >> endobj 940 0 obj (25.2.13 Search) endobj 941 0 obj << /S /GoTo /D (section.25.3) >> endobj 944 0 obj (25.3 Mutating sequence operations) endobj 945 0 obj << /S /GoTo /D (subsection.25.3.1) >> endobj 948 0 obj (25.3.1 Copy) endobj 949 0 obj << /S /GoTo /D (subsection.25.3.2) >> endobj 952 0 obj (25.3.2 Move) endobj 953 0 obj << /S /GoTo /D (subsection.25.3.3) >> endobj 956 0 obj (25.3.3 swap) endobj 957 0 obj << /S /GoTo /D (subsection.25.3.4) >> endobj 960 0 obj (25.3.4 Transform) endobj 961 0 obj << /S /GoTo /D (subsection.25.3.5) >> endobj 964 0 obj (25.3.5 Replace) endobj 965 0 obj << /S /GoTo /D (subsection.25.3.6) >> endobj 968 0 obj (25.3.6 Fill) endobj 969 0 obj << /S /GoTo /D (subsection.25.3.7) >> endobj 972 0 obj (25.3.7 Generate) endobj 973 0 obj << /S /GoTo /D (subsection.25.3.8) >> endobj 976 0 obj (25.3.8 Remove) endobj 977 0 obj << /S /GoTo /D (subsection.25.3.9) >> endobj 980 0 obj (25.3.9 Unique) endobj 981 0 obj << /S /GoTo /D (subsection.25.3.10) >> endobj 984 0 obj (25.3.10 Reverse) endobj 985 0 obj << /S /GoTo /D (subsection.25.3.11) >> endobj 988 0 obj (25.3.11 Rotate) endobj 989 0 obj << /S /GoTo /D (subsection.25.3.12) >> endobj 992 0 obj (25.3.12 Shuffle) endobj 993 0 obj << /S /GoTo /D (subsection.25.3.13) >> endobj 996 0 obj (25.3.13 Partitions) endobj 997 0 obj << /S /GoTo /D (section.25.4) >> endobj 1000 0 obj (25.4 Sorting and related operations) endobj 1001 0 obj << /S /GoTo /D (subsection.25.4.1) >> endobj 1004 0 obj (25.4.1 Sorting) endobj 1005 0 obj << /S /GoTo /D (subsubsection.25.4.1.1) >> endobj 1008 0 obj (25.4.1.1 sort) endobj 1009 0 obj << /S /GoTo /D (subsubsection.25.4.1.2) >> endobj 1012 0 obj (25.4.1.2 stable\137sort) endobj 1013 0 obj << /S /GoTo /D (subsubsection.25.4.1.3) >> endobj 1016 0 obj (25.4.1.3 partial\137sort) endobj 1017 0 obj << /S /GoTo /D (subsubsection.25.4.1.4) >> endobj 1020 0 obj (25.4.1.4 partial\137sort\137copy) endobj 1021 0 obj << /S /GoTo /D (subsubsection.25.4.1.5) >> endobj 1024 0 obj (25.4.1.5 is\137sorted) endobj 1025 0 obj << /S /GoTo /D (subsection.25.4.2) >> endobj 1028 0 obj (25.4.2 Nth element) endobj 1029 0 obj << /S /GoTo /D (subsection.25.4.3) >> endobj 1032 0 obj (25.4.3 Binary search) endobj 1033 0 obj << /S /GoTo /D (subsubsection.25.4.3.1) >> endobj 1036 0 obj (25.4.3.1 lower\137bound) endobj 1037 0 obj << /S /GoTo /D (subsubsection.25.4.3.2) >> endobj 1040 0 obj (25.4.3.2 upper\137bound) endobj 1041 0 obj << /S /GoTo /D (subsubsection.25.4.3.3) >> endobj 1044 0 obj (25.4.3.3 equal\137range) endobj 1045 0 obj << /S /GoTo /D (subsubsection.25.4.3.4) >> endobj 1048 0 obj (25.4.3.4 binary\137search) endobj 1049 0 obj << /S /GoTo /D (subsection.25.4.4) >> endobj 1052 0 obj (25.4.4 Merge) endobj 1053 0 obj << /S /GoTo /D (subsection.25.4.5) >> endobj 1056 0 obj (25.4.5 Set operations on sorted structures) endobj 1057 0 obj << /S /GoTo /D (subsubsection.25.4.5.1) >> endobj 1060 0 obj (25.4.5.1 includes) endobj 1061 0 obj << /S /GoTo /D (subsubsection.25.4.5.2) >> endobj 1064 0 obj (25.4.5.2 set\137union) endobj 1065 0 obj << /S /GoTo /D (subsubsection.25.4.5.3) >> endobj 1068 0 obj (25.4.5.3 set\137intersection) endobj 1069 0 obj << /S /GoTo /D (subsubsection.25.4.5.4) >> endobj 1072 0 obj (25.4.5.4 set\137difference) endobj 1073 0 obj << /S /GoTo /D (subsubsection.25.4.5.5) >> endobj 1076 0 obj (25.4.5.5 set\137symmetric\137difference) endobj 1077 0 obj << /S /GoTo /D (subsection.25.4.6) >> endobj 1080 0 obj (25.4.6 Heap operations) endobj 1081 0 obj << /S /GoTo /D (subsubsection.25.4.6.1) >> endobj 1084 0 obj (25.4.6.1 push\137heap) endobj 1085 0 obj << /S /GoTo /D (subsubsection.25.4.6.2) >> endobj 1088 0 obj (25.4.6.2 pop\137heap) endobj 1089 0 obj << /S /GoTo /D (subsubsection.25.4.6.3) >> endobj 1092 0 obj (25.4.6.3 make\137heap) endobj 1093 0 obj << /S /GoTo /D (subsubsection.25.4.6.4) >> endobj 1096 0 obj (25.4.6.4 sort\137heap) endobj 1097 0 obj << /S /GoTo /D (subsubsection.25.4.6.5) >> endobj 1100 0 obj (25.4.6.5 is\137heap) endobj 1101 0 obj << /S /GoTo /D (subsection.25.4.7) >> endobj 1104 0 obj (25.4.7 Minimum and maximum) endobj 1105 0 obj << /S /GoTo /D (subsection.25.4.8) >> endobj 1108 0 obj (25.4.8 Lexicographical comparison) endobj 1109 0 obj << /S /GoTo /D (subsection.25.4.9) >> endobj 1112 0 obj (25.4.9 Permutation generators) endobj 1113 0 obj << /S /GoTo /D (section.25.5) >> endobj 1116 0 obj (25.5 C library algorithms) endobj 1117 0 obj << /S /GoTo /D (appendix.A) >> endobj 1120 0 obj (A Acknowledgements) endobj 1121 0 obj << /S /GoTo /D (appendix.B) >> endobj 1124 0 obj (B Compatibility) endobj 1125 0 obj << /S /GoTo /D (section.B.1) >> endobj 1128 0 obj (B.1 C++ and Ranges) endobj 1129 0 obj << /S /GoTo /D (subsection.B.1.1) >> endobj 1132 0 obj (B.1.1 Algorithm Return Types) endobj 1133 0 obj << /S /GoTo /D (subsection.B.1.2) >> endobj 1136 0 obj (B.1.2 Stronger Constraints) endobj 1137 0 obj << /S /GoTo /D (subsection.B.1.3) >> endobj 1140 0 obj (B.1.3 Constrained Functional Objects) endobj 1141 0 obj << /S /GoTo /D (subsection.B.1.4) >> endobj 1144 0 obj (B.1.4 Iterators and Default-Constructibility) endobj 1145 0 obj << /S /GoTo /D (subsection.B.1.5) >> endobj 1148 0 obj (B.1.5 iterator\137traits cannot be specialized) endobj 1149 0 obj << /S /GoTo /D (section.B.2) >> endobj 1152 0 obj (B.2 Ranges and the Palo Alto TR \(N3351\)) endobj 1153 0 obj << /S /GoTo /D (subsection.B.2.1) >> endobj 1156 0 obj (B.2.1 Sentinels) endobj 1157 0 obj << /S /GoTo /D (subsection.B.2.2) >> endobj 1160 0 obj (B.2.2 Callables and Projections) endobj 1161 0 obj << /S /GoTo /D (subsection.B.2.3) >> endobj 1164 0 obj (B.2.3 No Distinct DistanceType Associated Type) endobj 1165 0 obj << /S /GoTo /D (subsection.B.2.4) >> endobj 1168 0 obj (B.2.4 Distance Primitive is O\(1\) for Random Access Iterators) endobj 1169 0 obj << /S /GoTo /D (subsection.B.2.5) >> endobj 1172 0 obj (B.2.5 Output Iterators) endobj 1173 0 obj << /S /GoTo /D (subsection.B.2.6) >> endobj 1176 0 obj (B.2.6 No Algorithm Reformulations) endobj 1177 0 obj << /S /GoTo /D (appendix.C) >> endobj 1180 0 obj (C Future Work) endobj 1181 0 obj << /S /GoTo /D (section.C.1) >> endobj 1184 0 obj (C.1 Implementation Experience with Concepts) endobj 1185 0 obj << /S /GoTo /D (section.C.2) >> endobj 1188 0 obj (C.2 Algorithms and Rvalue Ranges) endobj 1189 0 obj << /S /GoTo /D (section.C.3) >> endobj 1192 0 obj (C.3 Proxy Iterators) endobj 1193 0 obj << /S /GoTo /D (section.C.4) >> endobj 1196 0 obj (C.4 Iterator Range Type) endobj 1197 0 obj << /S /GoTo /D (section.C.5) >> endobj 1200 0 obj (C.5 Range Views and Actions) endobj 1201 0 obj << /S /GoTo /D (section.C.6) >> endobj 1204 0 obj (C.6 Range Facade and Adaptor Utilities) endobj 1205 0 obj << /S /GoTo /D (section.C.7) >> endobj 1208 0 obj (C.7 Infinite Ranges) endobj 1209 0 obj << /S /GoTo /D (section.C.8) >> endobj 1212 0 obj (C.8 Common Type) endobj 1213 0 obj << /S /GoTo /D (section.C.9) >> endobj 1216 0 obj (C.9 Numeric Algorithms and Containers) endobj 1217 0 obj << /S /GoTo /D (section.C.10) >> endobj 1220 0 obj (C.10 Verbosity in Algorithm Constraints) endobj 1221 0 obj << /S /GoTo /D (section*.5) >> endobj 1224 0 obj (Bibliography) endobj 1225 0 obj << /S /GoTo /D (section*.6) >> endobj 1228 0 obj (Index) endobj 1229 0 obj << /S /GoTo /D (section*.7) >> endobj 1232 0 obj (Index of library names) endobj 1233 0 obj << /S /GoTo /D [1234 0 R /FitH] >> endobj 1236 0 obj << /Length 449 /Filter /FlateDecode >> stream xڍRMÓ0½÷Wø†#°ñwbNvApØÃ*ÄÁmÝlÔÄ^¥^ÿžqì.õ°{>Þ¼736Cbèó†ÕûC¿yûIJd©5 þ€$ï¨f-j9§FrÔïÑw|"Þ=Í>4`$p;‰ïžæìmפ_Þ5?ú¯@§ÔZ­Eæã`·†ƒÚÊt§d'*îR–œq¤ÔV]—|eåöý©`\¦9ó½œ~—)R|Äí2î .aèÑo'¿äHþCêDCÉ¿f7N´áxç~Þùù†>5Œ#ôÚ¨”–Âz±š*&ç·Æ*—ãÐo5¾YÜ!½)öÇ:¯F\Q©LÙxÛR#’TðÚØë†ç}¡*Õ´ÿ‚ý¯äÃiŒáTDq)ƽƒ?][±†ÚN ¢´¢ÜŠúÖ1¿Ñ²ÅéaÌlÖàr·Ø…â{·¬æ>OF¡@sü%½ªÇó'ûYñ)–úúé*i€%?N>×…}åø²øãº/k/ùàªÊSm,JdÛpÁ°kgï¯=w^Œ„äì€Í0œÆ%;ø8å«kÜPi4"ñ^ý·ýæîçã endstream endobj 1234 0 obj << /Type /Page /Contents 1236 0 R /Resources 1235 0 R /MediaBox [0 0 612 792] /Parent 1243 0 R >> endobj 1237 0 obj << /D [1234 0 R /XYZ 71 756.865 null] >> endobj 1238 0 obj << /D [1234 0 R /XYZ 72 720 null] >> endobj 1235 0 obj << /Font << /F33 1239 0 R /F34 1240 0 R /F19 1241 0 R /F35 1242 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1283 0 obj << /Length 1296 /Filter /FlateDecode >> stream xÚíZKoã6¾çWè(Äð)’@Q 6iŠvh|K{PdÆUk[®l·È¿ï+»²âìæÕèböÐ#3œùf88šE8:?úart|Ft¤‘ÎhMn"É‘Ì$,I-£É4ºŠ‹ä÷ÉOÇg p'—R'—bļÐo˜/ÇñŽ!(£”9¡‹ËOÇN½c;rœ2$9‚9SÔŠáæQA^D£,£Â= g1û’"¦¸ßwZ-FâñËúšp”2†”d;;¨ßA› G$ª­fûæ×ó£ˆg)Õþ“²ì<