From: Jonathan Wakely std:: not supportedisspace from <cctype> is a macro
vector::at, deque::at, string::atstd::char_traits<char>::eofstring::clearostream::form and istream::scan
extensions
diff --git a/libstdc++-v3/doc/html/manual/api.html b/libstdc++-v3/doc/html/manual/api.html
index e2d3c62d29f7..363569c9c5a6 100644
--- a/libstdc++-v3/doc/html/manual/api.html
+++ b/libstdc++-v3/doc/html/manual/api.html
@@ -12,21 +12,21 @@ 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.
+
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.
+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.
+Extensions to tree data structures added in <ext/rb_tree>.
-Removal of ext/tree, moved to backward/tree.h.
+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.
For GCC releases from 2.95 through the 3.1 series, defining +
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.
For GCC releases from 2.95 through the 3.1 series, defining
Large file support.
- Extensions for generic characters and Extensions for generic characters and
Support for
@@ -47,7 +47,7 @@ Support for
Conformant
This is a change from all previous versions, and may require
source-level changes due to allocator-related changes to structures
@@ -77,75 +77,75 @@ _Alloc_traits__USE_MALLOC on the gcc command line would change the
default allocation strategy to instead use malloc and
free. For the 3.2 and 3.3 release series the same
@@ -39,7 +39,7 @@ Removal of ext/tree, moved to have been removed.
__alloc to select an underlying allocator that
satisfied memory allocation requests. The selection of this
underlying allocator was not user-configurable.
- char_traits added in ext/pod_char_traits.h.
+char_traits added in <ext/pod_char_traits.h>.
wchar_t specializations of basic_filebuf enhanced to support UTF-8 and Unicode, depending on host. More hosts support basic wchar_t functionality.
char_traits beyond builtin types.
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.
+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>.
Table B.6. Extension Allocators
| Allocator (3.4) | Header (3.4) | Allocator (3.[0-3]) | Header (3.[0-3]) |
|---|---|---|---|
__gnu_cxx::new_allocator<T> | ext/new_allocator.h | std::__new_alloc | memory |
__gnu_cxx::malloc_allocator<T> | ext/malloc_allocator.h | std::__malloc_alloc_template<int> | memory |
__gnu_cxx::debug_allocator<T> | ext/debug_allocator.h | std::debug_alloc<T> | memory |
__gnu_cxx::__pool_alloc<T> | ext/pool_allocator.h | std::__default_alloc_template<bool,int> | memory |
__gnu_cxx::__mt_alloc<T> | ext/mt_allocator.h | ||
__gnu_cxx::bitmap_allocator<T> | ext/bitmap_allocator.h |
Releases after gcc-3.4 have continued to add to the collection +
Table B.6. Extension Allocators
| Allocator (3.4) | Header (3.4) | Allocator (3.[0-3]) | Header (3.[0-3]) |
|---|---|---|---|
__gnu_cxx::new_allocator<T> | <ext/new_allocator.h> | std::__new_alloc | <memory> |
__gnu_cxx::malloc_allocator<T> | <ext/malloc_allocator.h> | std::__malloc_alloc_template<int> | <memory> |
__gnu_cxx::debug_allocator<T> | <ext/debug_allocator.h> | std::debug_alloc<T> | <memory> |
__gnu_cxx::__pool_alloc<T> | <ext/pool_allocator.h> | std::__default_alloc_template<bool,int> | <memory> |
__gnu_cxx::__mt_alloc<T> | <ext/mt_allocator.h> | ||
__gnu_cxx::bitmap_allocator<T> | <ext/bitmap_allocator.h> |
Releases after gcc-3.4 have continued to add to the collection of available allocators. All of these new allocators are standard-style. The following table includes details, along with the first released version of GCC that included the extension allocator. -
Table B.7. Extension Allocators Continued
| Allocator | Include | Version |
|---|---|---|
__gnu_cxx::array_allocator<T> | ext/array_allocator.h | 4.0.0 |
__gnu_cxx::throw_allocator<T> | ext/throw_allocator.h | 4.2.0 |
+
Table B.7. Extension Allocators Continued
| Allocator | Include | Version |
|---|---|---|
__gnu_cxx::array_allocator<T> | <ext/array_allocator.h> | 4.0.0 |
__gnu_cxx::throw_allocator<T> | <ext/throw_allocator.h> | 4.2.0 |
Debug mode first appears.
Precompiled header support PCH support.
Macro guard for changed, from _GLIBCPP_ to _GLIBCXX_.
-Extension ext/stdio_sync_filebuf.h added.
+Extension <ext/stdio_sync_filebuf.h> added.
-Extension ext/demangle.h added.
+Extension <ext/demangle.h> added.
TR1 features first appear.
-Extension allocator ext/array_allocator.h added.
+Extension allocator <ext/array_allocator.h> added.
-Extension codecvt specializations moved to ext/codecvt_specializations.h.
+Extension codecvt specializations moved to <ext/codecvt_specializations.h>.
-Removal of ext/demangle.h.
+Removal of <ext/demangle.h>.
-Removal of cassert from all standard headers: now has to be explicitly included for std::assert calls.
+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.
+
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,
+
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
+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.
+__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.
+
TR1 <regex> and <cmath>'s mathematical special function added.
Backward include edit.
Removed
-algobase.h algo.h alloc.h bvector.h complex.h
-defalloc.h deque.h fstream.h function.h hash_map.h hash_set.h
-hashtable.h heap.h iomanip.h iostream.h istream.h iterator.h
-list.h map.h multimap.h multiset.h new.h ostream.h pair.h queue.h rope.h set.h slist.h stack.h streambuf.h stream.h tempbuf.h
-tree.h vector.h
+<algobase.h> <algo.h> <alloc.h> <bvector.h> <complex.h>
+<defalloc.h> <deque.h> <fstream.h> <function.h> <hash_map.h> <hash_set.h>
+<hashtable.h> <heap.h> <iomanip.h> <iostream.h> <istream.h> <iterator.h>
+<list.h> <map.h> <multimap.h> <multiset.h> <new.h> <ostream.h> <pair.h> <queue.h> <rope.h> <set.h> <slist.h> <stack.h> <streambuf.h> <stream.h> <tempbuf.h>
+<tree.h> <vector.h>
Added
- hash_map and hash_set
+ <hash_map> and <hash_set>
Added in C++11
- auto_ptr.h and binders.h
+ <auto_ptr.h> and <binders.h>
Header dependency streamlining. -
algorithm no longer includes climits, cstring, or iosfwd
bitset no longer includes istream or ostream, adds iosfwd
functional no longer includes cstddef
iomanip no longer includes istream, istream, or functional, adds ioswd
numeric no longer includes iterator
string no longer includes algorithm or memory
valarray no longer includes numeric or cstdlib
tr1/hashtable no longer includes memory or functional
tr1/memory no longer includes algorithm
tr1/random no longer includes algorithm or fstream
-Debug mode for unordered_map and unordered_set.
+
<algorithm> no longer includes <climits>, <cstring>, or <iosfwd>
<bitset> no longer includes <istream> or <ostream>, adds <iosfwd>
<functional> no longer includes <cstddef>
<iomanip> no longer includes <istream>, <istream>, or <functional>, adds <ioswd>
<numeric> no longer includes <iterator>
<string> no longer includes <algorithm> or <memory>
<valarray> no longer includes <numeric> or <cstdlib>
<tr1/hashtable> no longer includes <memory> or <functional>
<tr1/memory> no longer includes <algorithm>
<tr1/random> no longer includes <algorithm> or <fstream>
+Debug mode for <unordered_map> and <unordered_set>.
Parallel mode first appears. -
Variadic template implementations of items in tuple and
- functional.
+
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
@@ -160,20 +160,20 @@ C++0X features.
Added.
- atomic,
- chrono,
- condition_variable,
- forward_list,
- initializer_list,
- mutex,
- ratio,
- thread
+ <atomic>,
+ <chrono>,
+ <condition_variable>,
+ <forward_list>,
+ <initializer_list>,
+ <mutex>,
+ <ratio>,
+ <thread>
Updated and improved.
- algorithm,
- system_error,
- type_traits
+ <algorithm>,
+ <system_error>,
+ <type_traits>
Use of the GNU extension namespace association converted to inline namespaces.
@@ -204,8 +204,8 @@ and catch to __catch.
Audit of internal mutex usage, conversion to functions returning static
local mutex.
Extensions
-added: ext/pointer.h
-and ext/extptr_allocator.h. Support
+added: <ext/pointer.h>
+and <ext/extptr_allocator.h>. Support
for non-standard pointer types has been added
to vector
and forward_list.
@@ -215,15 +215,15 @@ C++0X features.
Added.
- functional,
- future,
- random
+ <functional>,
+ <future>,
+ <random>
Updated and improved.
- atomic,
- system_error,
- type_traits
+ <atomic>,
+ <system_error>,
+ <type_traits>
Add support for explicit operators and standard layout types.
@@ -236,14 +236,14 @@ Python pretty-printers are added for use with appropriately-advanced versions of Audit for application of function attributes nothrow, const, pure, and noreturn.
The default behavior for comparing typeinfo names changed, so
-in typeinfo, __GXX_MERGED_TYPEINFO_NAMES
+in <typeinfo>, __GXX_MERGED_TYPEINFO_NAMES
now defaults to zero.
-
Extensions modified: ext/throw_allocator.h.
+
Extensions modified: <ext/throw_allocator.h>.
Use constexpr and nullptr where appropriate throughout the library.
The library was updated to avoid including
- stddef.h in order
+ <stddef.h> in order
to reduce namespace pollution.
Reference-count annotations to assist data race detectors.
@@ -255,7 +255,7 @@ now defaults to zero. standard.
A new clocale model for newlib is available.
The library was updated to avoid including
- unistd.h in order
+ <unistd.h> in order
to reduce namespace pollution.
Debug Mode was improved for unordered containers.
New random number engines and distributions.
@@ -314,7 +314,11 @@ now defaults to zero.
has_trivial_default_constructor,
has_trivial_copy_constructor and
has_trivial_copy_assign removed.
-
Profile Mode was deprecated.
+
Profile Mode was deprecated.
Including new C++14 or C++17 headers without a suitable -std
no longer causes compilation to fail via #error.
Instead the header is simply empty and doesn't define anything.
@@ -322,7 +326,13 @@ now defaults to zero.
The exceptions thrown by iostreams can now be caught by handlers for either
version of std::ios_base::failure.
+ Improved experimental C++17 support. Headers
+ <charconv> and
+ <filesystem>.
Experimental implementation of the C++17 Filesystem library added.
+
+ Experimental C++2a support
+ (to_address and endian).
AddressSanitizer annotations added to std::vector
to detect out-of-range accesses to the unused capacity of a vector.
@@ -356,4 +366,28 @@ now defaults to zero.
For the non-default --enable-symvers=gnu-versioned-namespace
configuration, the shared library SONAME has been changed to
libstdc++.so.8.
+
+ C++17 header
+ <memory_resource>
+ added.
+
+ Experimental C++2a support improved, with new headers
+ <bit> and
+ <version> added.
+ Support for new character type char8_t added
+ to char_traits, basic_string,
+ numeric_limits,
+ and relevant locale facets and type traits.
+
+ Experimental implementation of the Networking TS library added,
+ with new headers
+ <experimental/buffer>,
+ <experimental/executor>,
+ <experimental/internet>,
+ <experimental/io_context>,
+ <experimental/net>,
+ <experimental/netfwd>,
+ <experimental/socket>,
+ and
+ <experimental/timer>.