The reason that data structures and algorithms can work together seamlessly is ... that they do not know anything about each other.
Iterators and sequences — operations on iterators — iterator traits — iterator categories — inserters — reverse iterators — stream iterators — checked iterators — exceptions and algorithms — allocators — the standard allocator — user-defined allocators — low-level memory functions — advice — exercises.
Iterators are the glue that holds containers and algorithms together. They provide an abstract view of data so that the writer of an algorithm need not be concerned with concrete details of a myriad of data structures. Conversely, the standard model of ...