HP STL
HP STL is the root of all other STL implementations. It is a STL's parent Alexander Stepanov in HP's Palo ALTO laboratory, and the Meng Lee is completed, and it is the first STL implementation version (see Section 1.2). This STL is open source, so it allows anyone to use, copy, modify, publish, and sell the software and related documents, provided that the version information and authorization information of HP STL must be added to all related files. I have rarely use this version of STL now.
P.j. Plauger STL
P. J. Plauger STL belongs to a personal work, implemented by P. J. Plauger, is a inheritance version of HP STL, so there is a relevant statement of HP STL in all of its header files, as well as P. J. Plauger my copyright statement. P. J. Plauger is the early implementation of the Stdio library in Standard C, and is now the editor of C / C User's Journal, maintains a good relationship with Microsoft. P. J. Plauger STL is used in Visual C for Microsoft. In the same type of version under the Windows platform, its performance is good, but the Queue component (queue, a container) is not ideal, while the support of Visual C for C language standard is not very good (at least until VC6.0, or Thus), the performance of PJ Plauger STL is therefore affected to some extent. In addition, the source code readability is poor, you can find all source files (such as: C: C: / Program Files / Microsoft Visual Studio / VC98 / include) in the VC's INCLUDE subdirectory. Because not open source, these source code cannot be modified and sold. At present, P.J. Plauger STL provides related services by Dinkumware, see http://www.dinkumware.com. Visual C . Net (ie VC7.0) in Visual Studio.NET, has improved the support of C standards, and has more MAP containers, MultiMap containers, and MultiMap containers and Set container.
Rouge Wave STL
Rouge Wave STL is implemented by Rouge Wave, is also a inheritance version of HP STL. In addition to the relevant statement of HP STL, there is a copyright statement of Rouge Wave. At the same time, it is not an open source, so it cannot be modified and sold. This version is adopted by Borland C Builder, you can find all header files (such as: c: / include) in the C Builder's INCLUDE subdirectory. Although the performance of Rouge Wave STL is not very good, because C Builder's support is good for C language standards, it is improved to a certain extent. In addition, the readability of its source code is better. You can get more detailed information from the following website: http://www.rougewave.com. Unfortunately, this version has not been updated for some time and is not fully compliant. Therefore, in Borland C Builder 6.0, its status is replaced by another STL implementation version --stlport. But considering compatibility with previous versions, C Builder 6.0 still retains Rouge Wave STL, just if you want to see its source code, you need to find it in other directories (such as: c: c: / program files / borland / cbuilder6 / Include / ilstl. STLPORT
Stlport originated from a development project of Russian Boris Fomitchev, mainly used to transplant the basic code of the SGI STL to other mainstream compilers such as C Builder or Visual C . Because the SGI STL belongs to the open source, STLPORT has the right to do so. The latest version of Stlport is 4.5. You can get more detailed information from the following website: http://www.stlport.org, you can download its source code for free. Stlport has been accepted by the C / C Technical Committee as an industrial standard and supports on many platforms. Depending on the test STLPORT is faster than the STL in the VC. More compliant than the Rouge Wave STL, it is also easier to transplant. Borland C Builder has added support for Stlport in its version 6.0, which uses Stlports that are 4.5, C Builder 6.0 also provides STLPORT instructions. You can find all header files (such as: c: / include / stlport) in C Builder's Include / Stlport subdirectory (such as: c: / code / stlport).
SGI STL