A lot has happened since the first edition of this book was written. When the first edition was prepared, there was only one version of the Standard Template Library (STL) available-the Hewlett-Packard version. Since then, several other versions have appeared from major compiler and library vendors. This is in an effort to conform to the recent International Standards Organization/International Electrotechnical Commission (ISO/IEC) C++ standards, which define the STL as part of the Standard C++ Library. As expected, the STL is becoming widely available and an accepted part of C++ program development. This is good. Unfortunately, the proliferation of implementations makes it difficult to exactly define the STL. We now have mul tiple implementations, many of which are slightly incompatible with one another. The reasons for this are largely due to different capabilities of the compilers on which they are implemented. Many compilers do not implement the most recent features of the language since production of standards often precedes conform ing implementations by many months. This will improve over time as the com pilers add the necessary capabilities to support the full STL.