STL -- Standard Template Library -------------------------------- Provides a set of easily composable C++ container classes and generic algorithms. Container classes include -- vector -- lists -- stack -- queue -- deque (double-ended q), -- set (item is in once) -- multiset (allows duplicate items) -- priority queue, -- map (mapping of a unique key/value pair) -- multimap (multiple copies of a key) Iterators for the containers include forward, bidirectional, random access. They include (although not all have all) the common operations of <, >, etc. The generic algorithms include many common tasks, e.g., searching, sorting, merging, copying, etc. Iterators --------- Definition -- a software design pattern that abstracts the process of traversing through a collection of items Note -- vector[i] or array[i] can be considered as a primitive iterator An iterator should include -- Current position -- Retrieval of the current item -- Stepping to the next position (forward or backward)