Different STL implementation versions (V)

Source: Internet
Author: User

HP STL

Hp stl is the root of all other STL implementations. Alexander Stepanov, the father of STL, worked with Meng Lee in the Palo Alto lab at HP and was the first implementation version of STL (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 for free, the premise is that the version information and authorization information of hp stl must be added to all related files. Currently, this version of STL is rarely used directly.

P. J. plauger STL

P. j. plauger STL is a personal work. j. plauger is an inherited version of hp stl. Therefore, all header files contain the hp stl statement and P. j. plauger's copyright statement. P. J. plauger is the early implementer of stdio library in Standard C. It is now the editor of C/C ++ user's journal and maintains a good relationship with Microsoft. P. J. plauger STL is used in Microsoft Visual C ++. In similar Windows versions, the performance is good, but the efficiency of the queue component (queue, a container) is not ideal, at the same time, because visual c ++ does not support the C ++ language standard well (at least until vc6.0), it affects P to some extent. j. plauger STL performance. In addition, the source code of this version is less readable. You can find all source files (such as C:/program files/Microsoft Visual Studio/vc98/include) in the include subdirectory of VC ). Because it is not open source, so these source code can not be modified and sold, currently P. J. plauger STL by dinkumware company to provide related services, see the http://www.dinkumware.com for details. It is said that Visual Studio.. net. net (that is, vc7.0), which has improved support for the c ++ standard, and added map containers, multimap containers, and set containers based on hash tables.

Rouge wave STL

Rouge wave STL is implemented by Rouge wave and an inherited version of hp stl. In addition to the hp stl statement, there is also a rouge wave copyright statement. At the same time, it is not open source code, so it cannot be modified and sold. This version is used by Borland C ++ builder. You can find all header files (such as C: /program files/Borland/cbuilder5/include ). Despite the poor performance of rouge wave STL, C ++ builder's support for C ++ language standards has improved its performance to a certain extent. In addition, the source code is readable. You can get a more detailed introduction from the following website: http://www.rougewave.com. Unfortunately, this version has not been updated for a while and does not fully comply with the standards. Therefore, in Borland C ++ Builder 6.0, its position is replaced by another STL implementation version, stlport (see later. But considering its compatibility with previous versions, C ++ Builder 6.0 retains Rouge wave STL, but if you want to view its source code, you need to find it in other directories (for example: c:/program files/Borland/cbuilder6/include/oldstl ).

Stlport

Stlport was originally originated from a development project of Russian Boris fow.ev. It is mainly used to transplant the basic code of sgi stl to other mainstream compilers such as C ++ builder or visual C ++. Because sgi stl is open source code, stlport has the right to do so. Currently, the latest version of stlport is 4.5. You can get a more detailed introduction from the following website: http://www.stlport.org, its source code can be downloaded for free. Stlport has been accepted by the C/C ++ Technical Committee as an industrial standard and is supported by many platforms. According to the test, the efficiency of stlport is faster than that of STL in VC. It is more compliant and easier to port than Rouge wave STL. Borland C ++ builder has added support for stlport in its 6.0 version. The stlport used by Borland C ++ builder is version 4.5, c ++ Builder 6.0 also provides stlport instructions. You can find all header files in the include/stlport subdirectory of C ++ Builder (for example, C:/program files/Borland/cbuilder6/include/stlport ).

SGI STL

Sgi stl is implemented by Silicon Graphics Computer System, Inc. Its designers and writers include Alexander Stepanov and Matt austern. It is also an inherited version of hp stl. It is open source, so you can modify and sell it. Sgi stl is used by GCC (C ++ compiler in Linux). You can find all header files (such as C: /Cygnus/cygwin-b20/include/g ++/include ). Due to GCC's excellent support for C ++ language standards, sgi stl has excellent performance on the Linux platform. In addition, the source code is also readable. You can get a more detailed introduction from the following website: http://www.sgi.com, its source code can be downloaded for free. The latest version is 3.3.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.