The latest version of this document is always available at http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/api.html.
To the libstdc++ homepage.
A list of user-visible changes, by release version.
Extensions moved to include/ext
.
Include files from the SGI/HP sources that pre-date the ISO standard
are added. These files are placed into
the include/backward
directory and a deprecated warning
is added that notifies on inclusion (-Wno-deprecated
deactivates the warning.)
Deprecated include <backward/strstream> added.
Removal of include <builtinbuf.h>, <indstream.h>, <parsestream.h>, <PlotFile.h>, <SFile.h>, <stdiostream.h>, and <stream.h>.
Extensions from SGI/HP moved from namespace std
to namespace __gnu_cxx
. As part of this, the following
new includes are
added: <ext/algorithm>, <ext/functional>, <ext/iterator>, <ext/memory>, and <ext/numeric>.
Extensions to basic_filebuf
introduced: __gnu_cxx::enc_filebuf
, and __gnu_cxx::stdio_filebuf
.
Extensions to tree data structures added in <ext/rb_tree>.
Removal of <ext/tree>, moved to <backward/tree.h>.
Symbol versioning introduced for shared library.
Removal of include <backward/strstream.h>.
Allocator changes. Change __malloc_alloc
to malloc_allocator
and __new_alloc
to new_allocator
.
Error handling in iostreams cleaned up, made consistent.
Large file support.
Extensions for generic characters and char_traits
added in <ext/pod_char_traits.h>.
Support for wchar_t
specializations of basic_filebuf
enhanced to support UTF-8
and Unicode
, depending on host. More hosts support basic wchar_t
functionality.
Support for char_traits
beyond builtin types.
Conformant allocator
class and usage in containers. As
part of this, the following extensions are
added: <ext/bitmap_allocator.h>, <ext/debug_allocator.h>, <ext/mt_allocator.h>, <ext/malloc_allocator.h>,<ext/new_allocator.h>, <ext/pool_allocator.h>.
Debug mode first appears.
PCH support.
Macro guard for libstdc++ changed, from _GLIBCPP_ to _GLIBCXX_.
Extension <ext/stdio_sync_filebuf.h> added.
Extension <ext/demangle.h> added.
TR1 features first appear.
Extension allocator <ext/array_allocator.h> added.
Extension codecvt
specializations moved to <ext/codecvt_specializations.h>.
Removal of <ext/demangle.h>.
Removal of <cassert> from all standard headers: now has to be explicitly included for std::assert
calls.
Extensions for policy-based data structures first added. New includes,
types, namespace pb_assoc
.
Extensions for typelists added in <ext/typelist.h>.
Extension for policy-based basic_string
first added: __gnu_cxx::__versa_string
in <ext/vstring.h>.
Default visibility attributes applied to namespace std
. Support for -fvisibility
.
TR1 <random>, <complex>, and C compatibility headers added.
Extensions for concurrent programming consolidated
into <ext/concurrence.h> and <ext/atomicity.h>,
including change of namespace to __gnu_cxx
in some
cases. Added types
include _Lock_policy
, __concurrence_lock_error
, __concurrence_unlock_error
, __mutex
, __scoped_lock
.
Extensions for type traits consolidated
into <ext/type_traits.h>. Additional traits are added
(__conditional_type
, __enable_if
, others.)
Extensions for policy-based data structures revised. New includes,
types, namespace moved to __pb_ds
.
Extensions for debug mode modified: now nested in namespace
std::__debug
and extensions in namespace
__gnu_cxx::__debug
.
Extensions added: <ext/typelist.h> and <ext/throw_allocator.h>.
C++0X features first appear.
TR1 <regex> and <cmath>'s mathematical special function added.
Backward include edit.
Header dependency streamlining.
Debug mode for <unordered_map> and <unordered_set>.
Parallel mode first appears.
Variadic template implementations of items in <tuple> and <functional>.
Default what
implementations give more elaborate
exception strings for bad_cast
,
bad_typeid
, bad_exception
, and
bad_alloc
.
PCH binary files no longer installed. Instead, the source files are installed.
Namespace pb_ds moved to __gnu_pb_ds.