Release 3.3: June 8, 2000
- New feature: concept checks. The library now does better compile-time
error checking to make sure that the types used to instantiate
library templates conform to the templates' requirements.
- Removed two non-standard-conforming extensions: the second, defaulted
template parameter in bitset, and the third, default template
parameter in deque.
- Many bug fixes, performance enhancements, and compatibility improvements.
Release 3.2: April 22, 1999
- New feature: <valarray> header,
as defined in section 26.3 of the C++ standard.
- <limits> header is now supported
on compilers that lack support for constant initialization of
static const data members, such as Microsoft v6.0.
- Performance improvements in copy for compilers that
lack support for partial specialization of templates.
- Improved support for insert_iterator when used with
hash tables and slist.
- Documentation bug fix: documentation now makes it clear which
library features are standard and which are SGI extensions.
- Bug fixes.
Release 3.13: March 11, 1999
- Added a Frequently Asked Questions list.
- Bug fixes, particularly in multithreading support for non-SGI compilers.
- The at member function is now supported for the vector
and deque classes. (It was previously supported only for
Release 3.12: February 2, 1999
- Minor bug fixes.
- The <string> and
<bitset> headers are now supported on
compilers that lack full support for member templates and partial
specialization, such as Microsoft v6.0.
- Code to support multithreading has been consolidated in a single
file, so that system dependences are better isolated.
Release 3.11: July 21, 1998
Release 3.1: June 9, 1998
This release provides several new features.
- Standard-conforming string and
bitset classes, and the
standard exception hierarchy.
- Standard-conforming allocators, including the default allocator
class allocator<T>. All containers now use
standard allocators, and all containers now support allocators
whose instances are distinct. Old-style allocators, like alloc,
are still supported for backward compatibility.
- Algorithmic improvements in search.
- All sequences now support the resize and assign
member functions. All sequences now properly support overloaded
insert member functions and constructors in the presence
of member templates.
- Bug fixes in rope, and minor bug fixes elsewhere.
Minor changes for standard conformance.
- Standard-conforming auto_ptr class.
- Internal names, such as names of function and template
parameters, have been changed so that they cannot conflict with
user names (including user macros).
Release 3.01: October 31, 1997
This is a minor release. It consists only of bug fixes (the most
important ones are in rope), small changes to reflect
changes in the Final Draft International Standard (FDIS), and
performance improvements in single-element insertion into containers.
Release 3.0: October 31, 1997
Release 2.03: September 9, 1997
- Bug fixes, most importantly in rope.
- New version of reverse_iterator that takes only a single
template parameter, as described in the draft standard. (This
relies on iterator_traits, so you can only use
the new version of reverse_iterator if your compiler
supports partial specialization.)
- New algorithms: find_first_of,
- Changed the iterator tag classes so that they form an
- Added the -> operator to all predefined iterators
(except for output iterators).
Release 2.02: July 31, 1997
Release 2.01: June 30, 1997
Bug fixes only, no new features.
Release 2.0: June 13, 1997
This is a major release, with many new features. Here are some of the
- Exception safety. All STL components are now exception safe.
- New container class: rope. A scalable
- New container class: slist. Singly
- Member templates. If your compiler supports member templates,
then you will be able to use the fully general form of containers'
copy constructors and insert member functions.
- New mechanism for accessing iterators'
associated type information: iterator_traits.
(Note: you can only use iterator_traits
if your compiler supports "partial specialization".)
and distance have been rewritten in
terms of iterator_traits.
- Reimplementation of deque.
deque has been completely rewritten,
for higher performance.
- type_traits mechanism, which allows omission of null
constructor and destructor calls.
- New temporary_buffer
class. This was partially motivated by exception safety, but it
is also more convenient and more efficient than the old
- New allocator, debug_alloc, which is useful for verifying
the correctness of memory allocation and deallocation.
- New algorithms:
- Greater portability. The SGI STL can now be compiled using
Microsoft Visual C++ 5.0, and Borland C++ 5.02; it should not be
difficult to port it to any other compiler that has good support
for templates. (Specifically, any compiler that has default template
parameters.) Most compiler-specific code is isolated in the file
1999 Silicon Graphics, Inc. All Rights Reserved.