Now that you've been introduced to iterator types--both standard-provided and user-defined--it's time to look at some of the things you can do with iterators.
In this chapter you'll learn:
- The notion of a "half-open range," which nails down the exact manner in which two iterators can be said to define a range
- How to classify each standard algorithm as "read-only," "write-only", "transformative", or "permutative"; and as "one-range", "two-range", or "one-and-a-half range"
- That some standard algorithms, such as merge and make_heap, are merely the necessary building blocks out of which we make higher-level entities such as stable_sort and priority_queue
- How to sort a range based on a comparator other than operator<
- How to manipulate sorted arrays using the...