From cad3fc8c59c1fc94defff1d211f683bef2bc1f05 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely std::
not supportedisspace
from <cctype>
is a macro
vector::at
, deque::at
, string::at
std::char_traits<char>::eof
string::clear
ostream::form
and istream::scan
extensions
diff --git a/libstdc++-v3/doc/html/manual/api.html b/libstdc++-v3/doc/html/manual/api.html
index e2d3c62d29f..363569c9c5a 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>
.