Update libstdc++ API Evolution documentation
* doc/xml/manual/allocator.xml: Link to table documenting evolution of extension allocators. * doc/xml/manual/evolution.xml: Use angle brackets for header names. Document new headers in 7.2, 8.1 and 9.1 releases. * doc/xml/manual/using.xml: Adjust link target for new_allocator. * doc/html/*: Regenerate. From-SVN: r269794
This commit is contained in:
parent
edff2a0574
commit
cad3fc8c59
|
@ -1,3 +1,12 @@
|
|||
2019-03-19 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* doc/xml/manual/allocator.xml: Link to table documenting evolution
|
||||
of extension allocators.
|
||||
* doc/xml/manual/evolution.xml: Use angle brackets for header names.
|
||||
Document new headers in 7.2, 8.1 and 9.1 releases.
|
||||
* doc/xml/manual/using.xml: Adjust link target for new_allocator.
|
||||
* doc/html/*: Regenerate.
|
||||
|
||||
2019-03-12 John David Anglin <dave.anglin@bell.net>
|
||||
|
||||
PR libstdc++/89461
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -12,21 +12,21 @@ are added. These files are placed into
|
|||
the <code class="filename">include/backward</code> directory and a deprecated warning
|
||||
is added that notifies on inclusion (<code class="literal">-Wno-deprecated</code>
|
||||
deactivates the warning.)
|
||||
</p><p>Deprecated include <code class="filename">backward/strstream</code> added.</p><p>Removal of include <code class="filename">builtinbuf.h</code>, <code class="filename">indstream.h</code>, <code class="filename">parsestream.h</code>, <code class="filename">PlotFile.h</code>, <code class="filename">SFile.h</code>, <code class="filename">stdiostream.h</code>, and <code class="filename">stream.h</code>.
|
||||
</p><p>Deprecated include <code class="filename"><backward/strstream></code> added.</p><p>Removal of include <code class="filename"><builtinbuf.h></code>, <code class="filename"><indstream.h></code>, <code class="filename"><parsestream.h></code>, <code class="filename"><PlotFile.h></code>, <code class="filename"><SFile.h></code>, <code class="filename"><stdiostream.h></code>, and <code class="filename"><stream.h></code>.
|
||||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_310"></a><code class="constant">3.1</code></h3></div></div></div><p>
|
||||
</p><p>
|
||||
Extensions from SGI/HP moved from <code class="code">namespace std</code>
|
||||
to <code class="code">namespace __gnu_cxx</code>. As part of this, the following
|
||||
new includes are
|
||||
added: <code class="filename">ext/algorithm</code>, <code class="filename">ext/functional</code>, <code class="filename">ext/iterator</code>, <code class="filename">ext/memory</code>, and <code class="filename">ext/numeric</code>.
|
||||
added: <code class="filename"><ext/algorithm></code>, <code class="filename"><ext/functional></code>, <code class="filename"><ext/iterator></code>, <code class="filename"><ext/memory></code>, and <code class="filename"><ext/numeric></code>.
|
||||
</p><p>
|
||||
Extensions to <code class="code">basic_filebuf</code> introduced: <code class="code">__gnu_cxx::enc_filebuf</code>, and <code class="code">__gnu_cxx::stdio_filebuf</code>.
|
||||
</p><p>
|
||||
Extensions to tree data structures added in <code class="filename">ext/rb_tree</code>.
|
||||
Extensions to tree data structures added in <code class="filename"><ext/rb_tree></code>.
|
||||
</p><p>
|
||||
Removal of <code class="filename">ext/tree</code>, moved to <code class="filename">backward/tree.h</code>.
|
||||
Removal of <code class="filename"><ext/tree></code>, moved to <code class="filename"><backward/tree.h></code>.
|
||||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_320"></a><code class="constant">3.2</code></h3></div></div></div><p>
|
||||
</p><p>Symbol versioning introduced for shared library.</p><p>Removal of include <code class="filename">backward/strstream.h</code>.</p><p>Allocator changes. Change <code class="code">__malloc_alloc</code> to <code class="code">malloc_allocator</code> and <code class="code">__new_alloc</code> to <code class="code">new_allocator</code>. </p><p> For GCC releases from 2.95 through the 3.1 series, defining
|
||||
</p><p>Symbol versioning introduced for shared library.</p><p>Removal of include <code class="filename"><backward/strstream.h></code>.</p><p>Allocator changes. Change <code class="code">__malloc_alloc</code> to <code class="code">malloc_allocator</code> and <code class="code">__new_alloc</code> to <code class="code">new_allocator</code>. </p><p> For GCC releases from 2.95 through the 3.1 series, defining
|
||||
<code class="literal">__USE_MALLOC</code> on the gcc command line would change the
|
||||
default allocation strategy to instead use <code class="code"> malloc</code> and
|
||||
<code class="function">free</code>. For the 3.2 and 3.3 release series the same
|
||||
|
@ -39,7 +39,7 @@ Removal of <code class="filename">ext/tree</code>, moved to <code class="filenam
|
|||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_340"></a><code class="constant">3.4</code></h3></div></div></div><p>
|
||||
</p><p>
|
||||
Large file support.
|
||||
</p><p> Extensions for generic characters and <code class="code">char_traits</code> added in <code class="filename">ext/pod_char_traits.h</code>.
|
||||
</p><p> Extensions for generic characters and <code class="code">char_traits</code> added in <code class="filename"><ext/pod_char_traits.h></code>.
|
||||
</p><p>
|
||||
Support for <code class="code">wchar_t</code> specializations of <code class="code">basic_filebuf</code> enhanced to support <code class="code">UTF-8</code> and <code class="code">Unicode</code>, depending on host. More hosts support basic <code class="code">wchar_t</code> functionality.
|
||||
</p><p>
|
||||
|
@ -47,7 +47,7 @@ Support for <code class="code">char_traits</code> beyond builtin types.
|
|||
</p><p>
|
||||
Conformant <code class="code">allocator</code> class and usage in containers. As
|
||||
part of this, the following extensions are
|
||||
added: <code class="filename">ext/bitmap_allocator.h</code>, <code class="filename">ext/debug_allocator.h</code>, <code class="filename">ext/mt_allocator.h</code>, <code class="filename">ext/malloc_allocator.h</code>,<code class="filename">ext/new_allocator.h</code>, <code class="filename">ext/pool_allocator.h</code>.
|
||||
added: <code class="filename"><ext/bitmap_allocator.h></code>, <code class="filename"><ext/debug_allocator.h></code>, <code class="filename"><ext/mt_allocator.h></code>, <code class="filename"><ext/malloc_allocator.h></code>,<code class="filename"><ext/new_allocator.h></code>, <code class="filename"><ext/pool_allocator.h></code>.
|
||||
</p><p>
|
||||
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</code> have been removed.
|
|||
<span class="type">__alloc</span> to select an underlying allocator that
|
||||
satisfied memory allocation requests. The selection of this
|
||||
underlying allocator was not user-configurable.
|
||||
</p><div class="table"><a id="table.extension_allocators"></a><p class="title"><strong>Table B.6. Extension Allocators</strong></p><div class="table-contents"><table class="table" summary="Extension Allocators" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Allocator (3.4)</th><th align="left">Header (3.4)</th><th align="left">Allocator (3.[0-3])</th><th align="left">Header (3.[0-3])</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::new_allocator<T></code></td><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="classname">std::__new_alloc</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::malloc_allocator<T></code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="classname">std::__malloc_alloc_template<int></code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::debug_allocator<T></code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="classname">std::debug_alloc<T></code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__pool_alloc<T></code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="classname">std::__default_alloc_template<bool,int></code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__mt_alloc<T></code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left"><code class="classname">__gnu_cxx::bitmap_allocator<T></code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p> Releases after gcc-3.4 have continued to add to the collection
|
||||
</p><div class="table"><a id="table.extension_allocators"></a><p class="title"><strong>Table B.6. Extension Allocators</strong></p><div class="table-contents"><table class="table" summary="Extension Allocators" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Allocator (3.4)</th><th align="left">Header (3.4)</th><th align="left">Allocator (3.[0-3])</th><th align="left">Header (3.[0-3])</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::new_allocator<T></code></td><td align="left"><code class="filename"><ext/new_allocator.h></code></td><td align="left"><code class="classname">std::__new_alloc</code></td><td align="left"><code class="filename"><memory></code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::malloc_allocator<T></code></td><td align="left"><code class="filename"><ext/malloc_allocator.h></code></td><td align="left"><code class="classname">std::__malloc_alloc_template<int></code></td><td align="left"><code class="filename"><memory></code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::debug_allocator<T></code></td><td align="left"><code class="filename"><ext/debug_allocator.h></code></td><td align="left"><code class="classname">std::debug_alloc<T></code></td><td align="left"><code class="filename"><memory></code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__pool_alloc<T></code></td><td align="left"><code class="filename"><ext/pool_allocator.h></code></td><td align="left"><code class="classname">std::__default_alloc_template<bool,int></code></td><td align="left"><code class="filename"><memory></code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__mt_alloc<T></code></td><td align="left"><code class="filename"><ext/mt_allocator.h></code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left"><code class="classname">__gnu_cxx::bitmap_allocator<T></code></td><td align="left"><code class="filename"><ext/bitmap_allocator.h></code></td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p> 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.
|
||||
</p><div class="table"><a id="table.extension_allocators2"></a><p class="title"><strong>Table B.7. Extension Allocators Continued</strong></p><div class="table-contents"><table class="table" summary="Extension Allocators Continued" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left">Allocator</th><th align="left">Include</th><th align="left">Version</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::array_allocator<T></code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left">4.0.0</td></tr><tr><td align="left"><code class="classname">__gnu_cxx::throw_allocator<T></code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left">4.2.0</td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
</p><div class="table"><a id="table.extension_allocators2"></a><p class="title"><strong>Table B.7. Extension Allocators Continued</strong></p><div class="table-contents"><table class="table" summary="Extension Allocators Continued" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /></colgroup><thead><tr><th align="left">Allocator</th><th align="left">Include</th><th align="left">Version</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::array_allocator<T></code></td><td align="left"><code class="filename"><ext/array_allocator.h></code></td><td align="left">4.0.0</td></tr><tr><td align="left"><code class="classname">__gnu_cxx::throw_allocator<T></code></td><td align="left"><code class="filename"><ext/throw_allocator.h></code></td><td align="left">4.2.0</td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||
Debug mode first appears.
|
||||
</p><p>
|
||||
Precompiled header support <acronym class="acronym">PCH</acronym> support.
|
||||
</p><p>
|
||||
Macro guard for changed, from <code class="literal">_GLIBCPP_</code> to <code class="literal">_GLIBCXX_</code>.
|
||||
</p><p>
|
||||
Extension <code class="filename">ext/stdio_sync_filebuf.h</code> added.
|
||||
Extension <code class="filename"><ext/stdio_sync_filebuf.h></code> added.
|
||||
</p><p>
|
||||
Extension <code class="filename">ext/demangle.h</code> added.
|
||||
Extension <code class="filename"><ext/demangle.h></code> added.
|
||||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_400"></a><code class="constant">4.0</code></h3></div></div></div><p>
|
||||
</p><p>
|
||||
TR1 features first appear.
|
||||
</p><p>
|
||||
Extension allocator <code class="filename">ext/array_allocator.h</code> added.
|
||||
Extension allocator <code class="filename"><ext/array_allocator.h></code> added.
|
||||
</p><p>
|
||||
Extension <code class="code">codecvt</code> specializations moved to <code class="filename">ext/codecvt_specializations.h</code>.
|
||||
Extension <code class="code">codecvt</code> specializations moved to <code class="filename"><ext/codecvt_specializations.h></code>.
|
||||
</p><p>
|
||||
Removal of <code class="filename">ext/demangle.h</code>.
|
||||
Removal of <code class="filename"><ext/demangle.h></code>.
|
||||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_410"></a><code class="constant">4.1</code></h3></div></div></div><p>
|
||||
</p><p>
|
||||
Removal of <code class="filename">cassert</code> from all standard headers: now has to be explicitly included for <code class="code">std::assert</code> calls.
|
||||
Removal of <code class="filename"><cassert></code> from all standard headers: now has to be explicitly included for <code class="code">std::assert</code> calls.
|
||||
</p><p> Extensions for policy-based data structures first added. New includes,
|
||||
types, namespace <code class="code">pb_assoc</code>.
|
||||
</p><p> Extensions for typelists added in <code class="filename">ext/typelist.h</code>.
|
||||
</p><p> Extension for policy-based <code class="code">basic_string</code> first added: <code class="code">__gnu_cxx::__versa_string</code> in <code class="filename">ext/vstring.h</code>.
|
||||
</p><p> Extensions for typelists added in <code class="filename"><ext/typelist.h></code>.
|
||||
</p><p> Extension for policy-based <code class="code">basic_string</code> first added: <code class="code">__gnu_cxx::__versa_string</code> in <code class="filename"><ext/vstring.h></code>.
|
||||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_420"></a><code class="constant">4.2</code></h3></div></div></div><p>
|
||||
</p><p> Default visibility attributes applied to <code class="code">namespace std</code>. Support for <code class="code">-fvisibility</code>.
|
||||
</p><p>TR1 <code class="filename">random</code>, <code class="filename">complex</code>, and C compatibility headers added.</p><p> Extensions for concurrent programming consolidated
|
||||
into <code class="filename">ext/concurrence.h</code> and <code class="filename">ext/atomicity.h</code>,
|
||||
</p><p>TR1 <code class="filename"><random></code>, <code class="filename"><complex></code>, and C compatibility headers added.</p><p> Extensions for concurrent programming consolidated
|
||||
into <code class="filename"><ext/concurrence.h></code> and <code class="filename"><ext/atomicity.h></code>,
|
||||
including change of namespace to <code class="code">__gnu_cxx</code> in some
|
||||
cases. Added types
|
||||
include <code class="code">_Lock_policy</code>, <code class="code">__concurrence_lock_error</code>, <code class="code">__concurrence_unlock_error</code>, <code class="code">__mutex</code>, <code class="code">__scoped_lock</code>.</p><p> Extensions for type traits consolidated
|
||||
into <code class="filename">ext/type_traits.h</code>. Additional traits are added
|
||||
into <code class="filename"><ext/type_traits.h></code>. Additional traits are added
|
||||
(<code class="code">__conditional_type</code>, <code class="code">__enable_if</code>, others.)
|
||||
</p><p> Extensions for policy-based data structures revised. New includes,
|
||||
types, namespace moved to <code class="code">__pb_ds</code>.
|
||||
</p><p> Extensions for debug mode modified: now nested in <code class="code">namespace
|
||||
std::__debug</code> and extensions in <code class="code">namespace
|
||||
__gnu_cxx::__debug</code>.</p><p> Extensions added: <code class="filename">ext/typelist.h</code>
|
||||
and <code class="filename">ext/throw_allocator.h</code>.
|
||||
__gnu_cxx::__debug</code>.</p><p> Extensions added: <code class="filename"><ext/typelist.h></code>
|
||||
and <code class="filename"><ext/throw_allocator.h></code>.
|
||||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_430"></a><code class="constant">4.3</code></h3></div></div></div><p>
|
||||
</p><p>
|
||||
C++0X features first appear.
|
||||
</p><p>TR1 <code class="filename">regex</code> and <code class="filename">cmath</code>'s mathematical special function added.
|
||||
</p><p>TR1 <code class="filename"><regex></code> and <code class="filename"><cmath></code>'s mathematical special function added.
|
||||
</p><p>
|
||||
Backward include edit.
|
||||
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Removed</p><p>
|
||||
<code class="filename">algobase.h</code> <code class="filename">algo.h</code> <code class="filename">alloc.h</code> <code class="filename">bvector.h</code> <code class="filename">complex.h</code>
|
||||
<code class="filename">defalloc.h</code> <code class="filename">deque.h</code> <code class="filename">fstream.h</code> <code class="filename">function.h</code> <code class="filename">hash_map.h</code> <code class="filename">hash_set.h</code>
|
||||
<code class="filename">hashtable.h</code> <code class="filename">heap.h</code> <code class="filename">iomanip.h</code> <code class="filename">iostream.h</code> <code class="filename">istream.h</code> <code class="filename">iterator.h</code>
|
||||
<code class="filename">list.h</code> <code class="filename">map.h</code> <code class="filename">multimap.h</code> <code class="filename">multiset.h</code> <code class="filename">new.h</code> <code class="filename">ostream.h</code> <code class="filename">pair.h</code> <code class="filename">queue.h</code> <code class="filename">rope.h</code> <code class="filename">set.h</code> <code class="filename">slist.h</code> <code class="filename">stack.h</code> <code class="filename">streambuf.h</code> <code class="filename">stream.h</code> <code class="filename">tempbuf.h</code>
|
||||
<code class="filename">tree.h</code> <code class="filename">vector.h</code>
|
||||
<code class="filename"><algobase.h></code> <code class="filename"><algo.h></code> <code class="filename"><alloc.h></code> <code class="filename"><bvector.h></code> <code class="filename"><complex.h></code>
|
||||
<code class="filename"><defalloc.h></code> <code class="filename"><deque.h></code> <code class="filename"><fstream.h></code> <code class="filename"><function.h></code> <code class="filename"><hash_map.h></code> <code class="filename"><hash_set.h></code>
|
||||
<code class="filename"><hashtable.h></code> <code class="filename"><heap.h></code> <code class="filename"><iomanip.h></code> <code class="filename"><iostream.h></code> <code class="filename"><istream.h></code> <code class="filename"><iterator.h></code>
|
||||
<code class="filename"><list.h></code> <code class="filename"><map.h></code> <code class="filename"><multimap.h></code> <code class="filename"><multiset.h></code> <code class="filename"><new.h></code> <code class="filename"><ostream.h></code> <code class="filename"><pair.h></code> <code class="filename"><queue.h></code> <code class="filename"><rope.h></code> <code class="filename"><set.h></code> <code class="filename"><slist.h></code> <code class="filename"><stack.h></code> <code class="filename"><streambuf.h></code> <code class="filename"><stream.h></code> <code class="filename"><tempbuf.h></code>
|
||||
<code class="filename"><tree.h></code> <code class="filename"><vector.h></code>
|
||||
</p></li><li class="listitem"><p>Added</p><p>
|
||||
<code class="filename">hash_map</code> and <code class="filename">hash_set</code>
|
||||
<code class="filename"><hash_map></code> and <code class="filename"><hash_set></code>
|
||||
</p></li><li class="listitem"><p>Added in C++11</p><p>
|
||||
<code class="filename">auto_ptr.h</code> and <code class="filename">binders.h</code>
|
||||
<code class="filename"><auto_ptr.h></code> and <code class="filename"><binders.h></code>
|
||||
</p></li></ul></div><p>
|
||||
Header dependency streamlining.
|
||||
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="filename">algorithm</code> no longer includes <code class="filename">climits</code>, <code class="filename">cstring</code>, or <code class="filename">iosfwd</code> </p></li><li class="listitem"><p><code class="filename">bitset</code> no longer includes <code class="filename">istream</code> or <code class="filename">ostream</code>, adds <code class="filename">iosfwd</code> </p></li><li class="listitem"><p><code class="filename">functional</code> no longer includes <code class="filename">cstddef</code></p></li><li class="listitem"><p><code class="filename">iomanip</code> no longer includes <code class="filename">istream</code>, <code class="filename">istream</code>, or <code class="filename">functional</code>, adds <code class="filename">ioswd</code> </p></li><li class="listitem"><p><code class="filename">numeric</code> no longer includes <code class="filename">iterator</code></p></li><li class="listitem"><p><code class="filename">string</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">memory</code></p></li><li class="listitem"><p><code class="filename">valarray</code> no longer includes <code class="filename">numeric</code> or <code class="filename">cstdlib</code></p></li><li class="listitem"><p><code class="filename">tr1/hashtable</code> no longer includes <code class="filename">memory</code> or <code class="filename">functional</code></p></li><li class="listitem"><p><code class="filename">tr1/memory</code> no longer includes <code class="filename">algorithm</code></p></li><li class="listitem"><p><code class="filename">tr1/random</code> no longer includes <code class="filename">algorithm</code> or <code class="filename">fstream</code></p></li></ul></div><p>
|
||||
Debug mode for <code class="filename">unordered_map</code> and <code class="filename">unordered_set</code>.
|
||||
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="filename"><algorithm></code> no longer includes <code class="filename"><climits></code>, <code class="filename"><cstring></code>, or <code class="filename"><iosfwd></code> </p></li><li class="listitem"><p><code class="filename"><bitset></code> no longer includes <code class="filename"><istream></code> or <code class="filename"><ostream></code>, adds <code class="filename"><iosfwd></code> </p></li><li class="listitem"><p><code class="filename"><functional></code> no longer includes <code class="filename"><cstddef></code></p></li><li class="listitem"><p><code class="filename"><iomanip></code> no longer includes <code class="filename"><istream></code>, <code class="filename"><istream></code>, or <code class="filename"><functional></code>, adds <code class="filename"><ioswd></code> </p></li><li class="listitem"><p><code class="filename"><numeric></code> no longer includes <code class="filename"><iterator></code></p></li><li class="listitem"><p><code class="filename"><string></code> no longer includes <code class="filename"><algorithm></code> or <code class="filename"><memory></code></p></li><li class="listitem"><p><code class="filename"><valarray></code> no longer includes <code class="filename"><numeric></code> or <code class="filename"><cstdlib></code></p></li><li class="listitem"><p><code class="filename"><tr1/hashtable></code> no longer includes <code class="filename"><memory></code> or <code class="filename"><functional></code></p></li><li class="listitem"><p><code class="filename"><tr1/memory></code> no longer includes <code class="filename"><algorithm></code></p></li><li class="listitem"><p><code class="filename"><tr1/random></code> no longer includes <code class="filename"><algorithm></code> or <code class="filename"><fstream></code></p></li></ul></div><p>
|
||||
Debug mode for <code class="filename"><unordered_map></code> and <code class="filename"><unordered_set></code>.
|
||||
</p><p>
|
||||
Parallel mode first appears.
|
||||
</p><p>Variadic template implementations of items in <code class="filename">tuple</code> and
|
||||
<code class="filename">functional</code>.
|
||||
</p><p>Variadic template implementations of items in <code class="filename"><tuple></code> and
|
||||
<code class="filename"><functional></code>.
|
||||
</p><p>Default <code class="code">what</code> implementations give more elaborate
|
||||
exception strings for <code class="code">bad_cast</code>,
|
||||
<code class="code">bad_typeid</code>, <code class="code">bad_exception</code>, and
|
||||
|
@ -160,20 +160,20 @@ C++0X features.
|
|||
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
|
||||
Added.
|
||||
</p><p>
|
||||
<code class="filename">atomic</code>,
|
||||
<code class="filename">chrono</code>,
|
||||
<code class="filename">condition_variable</code>,
|
||||
<code class="filename">forward_list</code>,
|
||||
<code class="filename">initializer_list</code>,
|
||||
<code class="filename">mutex</code>,
|
||||
<code class="filename">ratio</code>,
|
||||
<code class="filename">thread</code>
|
||||
<code class="filename"><atomic></code>,
|
||||
<code class="filename"><chrono></code>,
|
||||
<code class="filename"><condition_variable></code>,
|
||||
<code class="filename"><forward_list></code>,
|
||||
<code class="filename"><initializer_list></code>,
|
||||
<code class="filename"><mutex></code>,
|
||||
<code class="filename"><ratio></code>,
|
||||
<code class="filename"><thread></code>
|
||||
</p></li><li class="listitem"><p>
|
||||
Updated and improved.
|
||||
</p><p>
|
||||
<code class="filename">algorithm</code>,
|
||||
<code class="filename">system_error</code>,
|
||||
<code class="filename">type_traits</code>
|
||||
<code class="filename"><algorithm></code>,
|
||||
<code class="filename"><system_error></code>,
|
||||
<code class="filename"><type_traits></code>
|
||||
</p></li><li class="listitem"><p>
|
||||
Use of the GNU extension namespace association converted to inline namespaces.
|
||||
</p></li><li class="listitem"><p>
|
||||
|
@ -204,8 +204,8 @@ and <code class="literal">catch</code> to <code class="literal">__catch</code>.
|
|||
Audit of internal mutex usage, conversion to functions returning static
|
||||
local mutex.
|
||||
</p><p> Extensions
|
||||
added: <code class="filename">ext/pointer.h</code>
|
||||
and <code class="filename">ext/extptr_allocator.h</code>. Support
|
||||
added: <code class="filename"><ext/pointer.h></code>
|
||||
and <code class="filename"><ext/extptr_allocator.h></code>. Support
|
||||
for non-standard pointer types has been added
|
||||
to <code class="classname">vector</code>
|
||||
and <code class="classname">forward_list</code>.
|
||||
|
@ -215,15 +215,15 @@ C++0X features.
|
|||
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
|
||||
Added.
|
||||
</p><p>
|
||||
<code class="filename">functional</code>,
|
||||
<code class="filename">future</code>,
|
||||
<code class="filename">random</code>
|
||||
<code class="filename"><functional></code>,
|
||||
<code class="filename"><future></code>,
|
||||
<code class="filename"><random></code>
|
||||
</p></li><li class="listitem"><p>
|
||||
Updated and improved.
|
||||
</p><p>
|
||||
<code class="filename">atomic</code>,
|
||||
<code class="filename">system_error</code>,
|
||||
<code class="filename">type_traits</code>
|
||||
<code class="filename"><atomic></code>,
|
||||
<code class="filename"><system_error></code>,
|
||||
<code class="filename"><type_traits></code>
|
||||
</p></li><li class="listitem"><p>
|
||||
Add support for explicit operators and standard layout types.
|
||||
</p></li></ul></div><p>
|
||||
|
@ -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.
|
||||
</p><p>
|
||||
The default behavior for comparing typeinfo names changed, so
|
||||
in <code class="filename">typeinfo</code>, <code class="literal">__GXX_MERGED_TYPEINFO_NAMES</code>
|
||||
in <code class="filename"><typeinfo></code>, <code class="literal">__GXX_MERGED_TYPEINFO_NAMES</code>
|
||||
now defaults to zero.
|
||||
</p><p> Extensions modified: <code class="filename">ext/throw_allocator.h</code>.
|
||||
</p><p> Extensions modified: <code class="filename"><ext/throw_allocator.h></code>.
|
||||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_460"></a><code class="constant">4.6</code></h3></div></div></div><p>
|
||||
Use constexpr and nullptr where appropriate throughout the library.
|
||||
</p><p>
|
||||
The library was updated to avoid including
|
||||
<code class="filename">stddef.h</code> in order
|
||||
<code class="filename"><stddef.h></code> in order
|
||||
to reduce namespace pollution.
|
||||
</p><p>Reference-count annotations to assist data race detectors.
|
||||
</p><p>
|
||||
|
@ -255,7 +255,7 @@ now defaults to zero.
|
|||
standard.
|
||||
</p><p>A new clocale model for newlib is available.</p><p>
|
||||
The library was updated to avoid including
|
||||
<code class="filename">unistd.h</code> in order
|
||||
<code class="filename"><unistd.h></code> in order
|
||||
to reduce namespace pollution.
|
||||
</p><p>Debug Mode was improved for unordered containers. </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_480"></a><code class="constant">4.8</code></h3></div></div></div><p>
|
||||
New random number engines and distributions.
|
||||
|
@ -314,7 +314,11 @@ now defaults to zero.
|
|||
<code class="classname">has_trivial_default_constructor</code>,
|
||||
<code class="classname">has_trivial_copy_constructor</code> and
|
||||
<code class="classname">has_trivial_copy_assign</code> removed.
|
||||
</p><p> Profile Mode was deprecated. </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="api.rel_73"></a><code class="constant">7.3</code></h4></div></div></div><p>
|
||||
</p><p> Profile Mode was deprecated. </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="api.rel_72"></a><code class="constant">7.2</code></h4></div></div></div><p>
|
||||
Library Fundamentals TS header
|
||||
<code class="filename"><experimental/source_location></code>
|
||||
added.
|
||||
</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="api.rel_73"></a><code class="constant">7.3</code></h4></div></div></div><p>
|
||||
Including new C++14 or C++17 headers without a suitable <code class="option">-std</code>
|
||||
no longer causes compilation to fail via <code class="literal">#error</code>.
|
||||
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 <code class="classname">std::ios_base::failure</code>.
|
||||
</p><p>
|
||||
Improved experimental C++17 support. Headers
|
||||
<code class="filename"><charconv></code> and
|
||||
<code class="filename"><filesystem></code>.
|
||||
Experimental implementation of the C++17 Filesystem library added.
|
||||
</p><p>
|
||||
Experimental C++2a support
|
||||
(<code class="function">to_address</code> and <code class="classname">endian</code>).
|
||||
</p><p>
|
||||
AddressSanitizer annotations added to <code class="classname">std::vector</code>
|
||||
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 <code class="option">--enable-symvers=gnu-versioned-namespace</code>
|
||||
configuration, the shared library SONAME has been changed to
|
||||
<code class="filename">libstdc++.so.8</code>.
|
||||
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="api.rel_91"></a><code class="constant">9</code></h3></div></div></div><p>
|
||||
C++17 header
|
||||
<code class="filename"><memory_resource></code>
|
||||
added.
|
||||
</p><p>
|
||||
Experimental C++2a support improved, with new headers
|
||||
<code class="filename"><bit></code> and
|
||||
<code class="filename"><version></code> added.
|
||||
Support for new character type <span class="type">char8_t</span> added
|
||||
to <code class="classname">char_traits</code>, <code class="classname">basic_string</code>,
|
||||
<code class="classname">numeric_limits</code>,
|
||||
and relevant locale facets and type traits.
|
||||
</p><p>
|
||||
Experimental implementation of the Networking TS library added,
|
||||
with new headers
|
||||
<code class="filename"><experimental/buffer></code>,
|
||||
<code class="filename"><experimental/executor></code>,
|
||||
<code class="filename"><experimental/internet></code>,
|
||||
<code class="filename"><experimental/io_context></code>,
|
||||
<code class="filename"><experimental/net></code>,
|
||||
<code class="filename"><experimental/netfwd></code>,
|
||||
<code class="filename"><experimental/socket></code>,
|
||||
and
|
||||
<code class="filename"><experimental/timer></code>.
|
||||
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="abi.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ABI Policy and Guidelines </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Backwards Compatibility</td></tr></table></div></body></html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -204,8 +204,8 @@
|
|||
names have changed, but in all cases, functionality is
|
||||
equivalent. Starting with gcc-3.4, all extension allocators are
|
||||
standard style. Before this point, SGI style was the norm. Because of
|
||||
this, the number of template arguments also changed. Here's a simple
|
||||
chart to track the changes.
|
||||
this, the number of template arguments also changed.
|
||||
<a class="xref" href="api.html#table.extension_allocators" title="Table B.6. Extension Allocators">Table B.6, “Extension Allocators”</a> tracks the changes.
|
||||
</p><p>
|
||||
More details on each of these extension allocators follows.
|
||||
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
|
||||
|
|
|
@ -116,7 +116,7 @@
|
|||
enabled for
|
||||
<code class="classname">std::vector<T, std::allocator<T>></code>
|
||||
and only when <code class="classname">std::allocator</code> is derived from
|
||||
<a class="link" href="memory.html#allocator.impl" title="Implementation"><code class="classname">new_allocator</code>
|
||||
<a class="link" href="memory.html#allocator.ext" title="Extension Allocators"><code class="classname">new_allocator</code>
|
||||
or <code class="classname">malloc_allocator</code></a>. The annotations
|
||||
must be present on all vector operations or none, so this macro must
|
||||
be defined to the same value for all translation units that create,
|
||||
|
|
|
@ -139,7 +139,6 @@
|
|||
|
||||
<section xml:id="allocator.interface"><info><title>Interface Design</title></info>
|
||||
|
||||
|
||||
<para>
|
||||
The only allocator interface that
|
||||
is supported is the standard C++ interface. As such, all STL
|
||||
|
@ -163,7 +162,6 @@
|
|||
|
||||
<section xml:id="allocator.default"><info><title>Selecting Default Allocation Policy</title></info>
|
||||
|
||||
|
||||
<para>
|
||||
It's difficult to pick an allocation strategy that will provide
|
||||
maximum utility, without excessively penalizing some behavior. In
|
||||
|
@ -229,7 +227,6 @@
|
|||
|
||||
<section xml:id="allocator.caching"><info><title>Disabling Memory Caching</title></info>
|
||||
|
||||
|
||||
<para>
|
||||
In use, <classname>allocator</classname> may allocate and
|
||||
deallocate using implementation-specific strategies and
|
||||
|
@ -328,8 +325,8 @@
|
|||
names have changed, but in all cases, functionality is
|
||||
equivalent. Starting with gcc-3.4, all extension allocators are
|
||||
standard style. Before this point, SGI style was the norm. Because of
|
||||
this, the number of template arguments also changed. Here's a simple
|
||||
chart to track the changes.
|
||||
this, the number of template arguments also changed.
|
||||
<xref linkend="table.extension_allocators"/> tracks the changes.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
</info>
|
||||
|
||||
|
||||
|
||||
<para>
|
||||
A list of user-visible changes, in chronological order
|
||||
</para>
|
||||
|
@ -33,9 +32,9 @@ is added that notifies on inclusion (<literal>-Wno-deprecated</literal>
|
|||
deactivates the warning.)
|
||||
</para>
|
||||
|
||||
<para>Deprecated include <filename class="headerfile">backward/strstream</filename> added.</para>
|
||||
<para>Deprecated include <filename class="headerfile"><backward/strstream></filename> added.</para>
|
||||
|
||||
<para>Removal of include <filename class="headerfile">builtinbuf.h</filename>, <filename class="headerfile">indstream.h</filename>, <filename class="headerfile">parsestream.h</filename>, <filename class="headerfile">PlotFile.h</filename>, <filename class="headerfile">SFile.h</filename>, <filename class="headerfile">stdiostream.h</filename>, and <filename class="headerfile">stream.h</filename>.
|
||||
<para>Removal of include <filename class="headerfile"><builtinbuf.h></filename>, <filename class="headerfile"><indstream.h></filename>, <filename class="headerfile"><parsestream.h></filename>, <filename class="headerfile"><PlotFile.h></filename>, <filename class="headerfile"><SFile.h></filename>, <filename class="headerfile"><stdiostream.h></filename>, and <filename class="headerfile"><stream.h></filename>.
|
||||
</para>
|
||||
|
||||
|
||||
|
@ -51,7 +50,7 @@ deactivates the warning.)
|
|||
Extensions from SGI/HP moved from <code>namespace std</code>
|
||||
to <code>namespace __gnu_cxx</code>. As part of this, the following
|
||||
new includes are
|
||||
added: <filename class="headerfile">ext/algorithm</filename>, <filename class="headerfile">ext/functional</filename>, <filename class="headerfile">ext/iterator</filename>, <filename class="headerfile">ext/memory</filename>, and <filename class="headerfile">ext/numeric</filename>.
|
||||
added: <filename class="headerfile"><ext/algorithm></filename>, <filename class="headerfile"><ext/functional></filename>, <filename class="headerfile"><ext/iterator></filename>, <filename class="headerfile"><ext/memory></filename>, and <filename class="headerfile"><ext/numeric></filename>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -59,11 +58,11 @@ Extensions to <code>basic_filebuf</code> introduced: <code>__gnu_cxx::enc_filebu
|
|||
</para>
|
||||
|
||||
<para>
|
||||
Extensions to tree data structures added in <filename class="headerfile">ext/rb_tree</filename>.
|
||||
Extensions to tree data structures added in <filename class="headerfile"><ext/rb_tree></filename>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Removal of <filename class="headerfile">ext/tree</filename>, moved to <filename class="headerfile">backward/tree.h</filename>.
|
||||
Removal of <filename class="headerfile"><ext/tree></filename>, moved to <filename class="headerfile"><backward/tree.h></filename>.
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
@ -74,7 +73,7 @@ Removal of <filename class="headerfile">ext/tree</filename>, moved to <filename
|
|||
</para>
|
||||
<para>Symbol versioning introduced for shared library.</para>
|
||||
|
||||
<para>Removal of include <filename class="headerfile">backward/strstream.h</filename>.</para>
|
||||
<para>Removal of include <filename class="headerfile"><backward/strstream.h></filename>.</para>
|
||||
|
||||
<para>Allocator changes. Change <code>__malloc_alloc</code> to <code>malloc_allocator</code> and <code>__new_alloc</code> to <code>new_allocator</code>. </para>
|
||||
|
||||
|
@ -109,7 +108,7 @@ Removal of <filename class="headerfile">ext/tree</filename>, moved to <filename
|
|||
Large file support.
|
||||
</para>
|
||||
|
||||
<para> Extensions for generic characters and <code>char_traits</code> added in <filename class="headerfile">ext/pod_char_traits.h</filename>.
|
||||
<para> Extensions for generic characters and <code>char_traits</code> added in <filename class="headerfile"><ext/pod_char_traits.h></filename>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -123,7 +122,7 @@ Support for <code>char_traits</code> beyond builtin types.
|
|||
<para>
|
||||
Conformant <code>allocator</code> class and usage in containers. As
|
||||
part of this, the following extensions are
|
||||
added: <filename class="headerfile">ext/bitmap_allocator.h</filename>, <filename class="headerfile">ext/debug_allocator.h</filename>, <filename class="headerfile">ext/mt_allocator.h</filename>, <filename class="headerfile">ext/malloc_allocator.h</filename>,<filename class="headerfile">ext/new_allocator.h</filename>, <filename class="headerfile">ext/pool_allocator.h</filename>.
|
||||
added: <filename class="headerfile"><ext/bitmap_allocator.h></filename>, <filename class="headerfile"><ext/debug_allocator.h></filename>, <filename class="headerfile"><ext/mt_allocator.h></filename>, <filename class="headerfile"><ext/malloc_allocator.h></filename>,<filename class="headerfile"><ext/new_allocator.h></filename>, <filename class="headerfile"><ext/pool_allocator.h></filename>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -186,37 +185,37 @@ _Alloc_traits</code> have been removed.
|
|||
<tbody>
|
||||
<row>
|
||||
<entry><classname>__gnu_cxx::new_allocator<T></classname></entry>
|
||||
<entry><filename class="headerfile">ext/new_allocator.h</filename></entry>
|
||||
<entry><filename class="headerfile"><ext/new_allocator.h></filename></entry>
|
||||
<entry><classname>std::__new_alloc</classname></entry>
|
||||
<entry><filename class="headerfile">memory</filename></entry>
|
||||
<entry><filename class="headerfile"><memory></filename></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><classname>__gnu_cxx::malloc_allocator<T></classname></entry>
|
||||
<entry><filename class="headerfile">ext/malloc_allocator.h</filename></entry>
|
||||
<entry><filename class="headerfile"><ext/malloc_allocator.h></filename></entry>
|
||||
<entry><classname>std::__malloc_alloc_template<int></classname></entry>
|
||||
<entry><filename class="headerfile">memory</filename></entry>
|
||||
<entry><filename class="headerfile"><memory></filename></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><classname>__gnu_cxx::debug_allocator<T></classname></entry>
|
||||
<entry><filename class="headerfile">ext/debug_allocator.h</filename></entry>
|
||||
<entry><filename class="headerfile"><ext/debug_allocator.h></filename></entry>
|
||||
<entry><classname>std::debug_alloc<T></classname></entry>
|
||||
<entry><filename class="headerfile">memory</filename></entry>
|
||||
<entry><filename class="headerfile"><memory></filename></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><classname>__gnu_cxx::__pool_alloc<T></classname></entry>
|
||||
<entry><filename class="headerfile">ext/pool_allocator.h</filename></entry>
|
||||
<entry><filename class="headerfile"><ext/pool_allocator.h></filename></entry>
|
||||
<entry><classname>std::__default_alloc_template<bool,int></classname></entry>
|
||||
<entry><filename class="headerfile">memory</filename></entry>
|
||||
<entry><filename class="headerfile"><memory></filename></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><classname>__gnu_cxx::__mt_alloc<T></classname></entry>
|
||||
<entry><filename class="headerfile">ext/mt_allocator.h</filename></entry>
|
||||
<entry><filename class="headerfile"><ext/mt_allocator.h></filename></entry>
|
||||
<entry> </entry>
|
||||
<entry> </entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><classname>__gnu_cxx::bitmap_allocator<T></classname></entry>
|
||||
<entry><filename class="headerfile">ext/bitmap_allocator.h</filename></entry>
|
||||
<entry><filename class="headerfile"><ext/bitmap_allocator.h></filename></entry>
|
||||
<entry> </entry>
|
||||
<entry> </entry>
|
||||
</row>
|
||||
|
@ -249,12 +248,12 @@ _Alloc_traits</code> have been removed.
|
|||
<tbody>
|
||||
<row>
|
||||
<entry><classname>__gnu_cxx::array_allocator<T></classname></entry>
|
||||
<entry><filename class="headerfile">ext/array_allocator.h</filename></entry>
|
||||
<entry><filename class="headerfile"><ext/array_allocator.h></filename></entry>
|
||||
<entry>4.0.0</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><classname>__gnu_cxx::throw_allocator<T></classname></entry>
|
||||
<entry><filename class="headerfile">ext/throw_allocator.h</filename></entry>
|
||||
<entry><filename class="headerfile"><ext/throw_allocator.h></filename></entry>
|
||||
<entry>4.2.0</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
|
@ -275,11 +274,11 @@ Macro guard for changed, from <literal>_GLIBCPP_</literal> to <literal>_GLIBCXX_
|
|||
</para>
|
||||
|
||||
<para>
|
||||
Extension <filename class="headerfile">ext/stdio_sync_filebuf.h</filename> added.
|
||||
Extension <filename class="headerfile"><ext/stdio_sync_filebuf.h></filename> added.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Extension <filename class="headerfile">ext/demangle.h</filename> added.
|
||||
Extension <filename class="headerfile"><ext/demangle.h></filename> added.
|
||||
</para>
|
||||
|
||||
|
||||
|
@ -294,15 +293,15 @@ TR1 features first appear.
|
|||
</para>
|
||||
|
||||
<para>
|
||||
Extension allocator <filename class="headerfile">ext/array_allocator.h</filename> added.
|
||||
Extension allocator <filename class="headerfile"><ext/array_allocator.h></filename> added.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Extension <code>codecvt</code> specializations moved to <filename class="headerfile">ext/codecvt_specializations.h</filename>.
|
||||
Extension <code>codecvt</code> specializations moved to <filename class="headerfile"><ext/codecvt_specializations.h></filename>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Removal of <filename class="headerfile">ext/demangle.h</filename>.
|
||||
Removal of <filename class="headerfile"><ext/demangle.h></filename>.
|
||||
</para>
|
||||
|
||||
|
||||
|
@ -315,7 +314,7 @@ Removal of <filename class="headerfile">ext/demangle.h</filename>.
|
|||
|
||||
|
||||
<para>
|
||||
Removal of <filename class="headerfile">cassert</filename> from all standard headers: now has to be explicitly included for <code>std::assert</code> calls.
|
||||
Removal of <filename class="headerfile"><cassert></filename> from all standard headers: now has to be explicitly included for <code>std::assert</code> calls.
|
||||
</para>
|
||||
|
||||
<para> Extensions for policy-based data structures first added. New includes,
|
||||
|
@ -324,10 +323,10 @@ types, namespace <code>pb_assoc</code>.
|
|||
|
||||
|
||||
|
||||
<para> Extensions for typelists added in <filename class="headerfile">ext/typelist.h</filename>.
|
||||
<para> Extensions for typelists added in <filename class="headerfile"><ext/typelist.h></filename>.
|
||||
</para>
|
||||
|
||||
<para> Extension for policy-based <code>basic_string</code> first added: <code>__gnu_cxx::__versa_string</code> in <filename class="headerfile">ext/vstring.h</filename>.
|
||||
<para> Extension for policy-based <code>basic_string</code> first added: <code>__gnu_cxx::__versa_string</code> in <filename class="headerfile"><ext/vstring.h></filename>.
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
@ -341,16 +340,16 @@ types, namespace <code>pb_assoc</code>.
|
|||
<para> Default visibility attributes applied to <code>namespace std</code>. Support for <code>-fvisibility</code>.
|
||||
</para>
|
||||
|
||||
<para>TR1 <filename class="headerfile">random</filename>, <filename class="headerfile">complex</filename>, and C compatibility headers added.</para>
|
||||
<para>TR1 <filename class="headerfile"><random></filename>, <filename class="headerfile"><complex></filename>, and C compatibility headers added.</para>
|
||||
|
||||
<para> Extensions for concurrent programming consolidated
|
||||
into <filename class="headerfile">ext/concurrence.h</filename> and <filename class="headerfile">ext/atomicity.h</filename>,
|
||||
into <filename class="headerfile"><ext/concurrence.h></filename> and <filename class="headerfile"><ext/atomicity.h></filename>,
|
||||
including change of namespace to <code>__gnu_cxx</code> in some
|
||||
cases. Added types
|
||||
include <code>_Lock_policy</code>, <code>__concurrence_lock_error</code>, <code>__concurrence_unlock_error</code>, <code>__mutex</code>, <code>__scoped_lock</code>.</para>
|
||||
|
||||
<para> Extensions for type traits consolidated
|
||||
into <filename class="headerfile">ext/type_traits.h</filename>. Additional traits are added
|
||||
into <filename class="headerfile"><ext/type_traits.h></filename>. Additional traits are added
|
||||
(<code>__conditional_type</code>, <code>__enable_if</code>, others.)
|
||||
</para>
|
||||
|
||||
|
@ -362,8 +361,8 @@ types, namespace moved to <code>__pb_ds</code>.
|
|||
std::__debug</code> and extensions in <code>namespace
|
||||
__gnu_cxx::__debug</code>.</para>
|
||||
|
||||
<para> Extensions added: <filename class="headerfile">ext/typelist.h</filename>
|
||||
and <filename class="headerfile">ext/throw_allocator.h</filename>.
|
||||
<para> Extensions added: <filename class="headerfile"><ext/typelist.h></filename>
|
||||
and <filename class="headerfile"><ext/throw_allocator.h></filename>.
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
@ -378,7 +377,7 @@ and <filename class="headerfile">ext/throw_allocator.h</filename>.
|
|||
C++0X features first appear.
|
||||
</para>
|
||||
|
||||
<para>TR1 <filename class="headerfile">regex</filename> and <filename class="headerfile">cmath</filename>'s mathematical special function added.
|
||||
<para>TR1 <filename class="headerfile"><regex></filename> and <filename class="headerfile"><cmath></filename>'s mathematical special function added.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -388,23 +387,23 @@ Backward include edit.
|
|||
<listitem>
|
||||
<para>Removed</para>
|
||||
<para>
|
||||
<filename class="headerfile">algobase.h</filename> <filename class="headerfile">algo.h</filename> <filename class="headerfile">alloc.h</filename> <filename class="headerfile">bvector.h</filename> <filename class="headerfile">complex.h</filename>
|
||||
<filename class="headerfile">defalloc.h</filename> <filename class="headerfile">deque.h</filename> <filename class="headerfile">fstream.h</filename> <filename class="headerfile">function.h</filename> <filename class="headerfile">hash_map.h</filename> <filename class="headerfile">hash_set.h</filename>
|
||||
<filename class="headerfile">hashtable.h</filename> <filename class="headerfile">heap.h</filename> <filename class="headerfile">iomanip.h</filename> <filename class="headerfile">iostream.h</filename> <filename class="headerfile">istream.h</filename> <filename class="headerfile">iterator.h</filename>
|
||||
<filename class="headerfile">list.h</filename> <filename class="headerfile">map.h</filename> <filename class="headerfile">multimap.h</filename> <filename class="headerfile">multiset.h</filename> <filename class="headerfile">new.h</filename> <filename class="headerfile">ostream.h</filename> <filename class="headerfile">pair.h</filename> <filename class="headerfile">queue.h</filename> <filename class="headerfile">rope.h</filename> <filename class="headerfile">set.h</filename> <filename class="headerfile">slist.h</filename> <filename class="headerfile">stack.h</filename> <filename class="headerfile">streambuf.h</filename> <filename class="headerfile">stream.h</filename> <filename class="headerfile">tempbuf.h</filename>
|
||||
<filename class="headerfile">tree.h</filename> <filename class="headerfile">vector.h</filename>
|
||||
<filename class="headerfile"><algobase.h></filename> <filename class="headerfile"><algo.h></filename> <filename class="headerfile"><alloc.h></filename> <filename class="headerfile"><bvector.h></filename> <filename class="headerfile"><complex.h></filename>
|
||||
<filename class="headerfile"><defalloc.h></filename> <filename class="headerfile"><deque.h></filename> <filename class="headerfile"><fstream.h></filename> <filename class="headerfile"><function.h></filename> <filename class="headerfile"><hash_map.h></filename> <filename class="headerfile"><hash_set.h></filename>
|
||||
<filename class="headerfile"><hashtable.h></filename> <filename class="headerfile"><heap.h></filename> <filename class="headerfile"><iomanip.h></filename> <filename class="headerfile"><iostream.h></filename> <filename class="headerfile"><istream.h></filename> <filename class="headerfile"><iterator.h></filename>
|
||||
<filename class="headerfile"><list.h></filename> <filename class="headerfile"><map.h></filename> <filename class="headerfile"><multimap.h></filename> <filename class="headerfile"><multiset.h></filename> <filename class="headerfile"><new.h></filename> <filename class="headerfile"><ostream.h></filename> <filename class="headerfile"><pair.h></filename> <filename class="headerfile"><queue.h></filename> <filename class="headerfile"><rope.h></filename> <filename class="headerfile"><set.h></filename> <filename class="headerfile"><slist.h></filename> <filename class="headerfile"><stack.h></filename> <filename class="headerfile"><streambuf.h></filename> <filename class="headerfile"><stream.h></filename> <filename class="headerfile"><tempbuf.h></filename>
|
||||
<filename class="headerfile"><tree.h></filename> <filename class="headerfile"><vector.h></filename>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Added</para>
|
||||
<para>
|
||||
<filename class="headerfile">hash_map</filename> and <filename class="headerfile">hash_set</filename>
|
||||
<filename class="headerfile"><hash_map></filename> and <filename class="headerfile"><hash_set></filename>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Added in C++11</para>
|
||||
<para>
|
||||
<filename class="headerfile">auto_ptr.h</filename> and <filename class="headerfile">binders.h</filename>
|
||||
<filename class="headerfile"><auto_ptr.h></filename> and <filename class="headerfile"><binders.h></filename>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -415,29 +414,29 @@ Header dependency streamlining.
|
|||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem><para><filename class="headerfile">algorithm</filename> no longer includes <filename class="headerfile">climits</filename>, <filename class="headerfile">cstring</filename>, or <filename class="headerfile">iosfwd</filename> </para></listitem>
|
||||
<listitem><para><filename class="headerfile">bitset</filename> no longer includes <filename class="headerfile">istream</filename> or <filename class="headerfile">ostream</filename>, adds <filename class="headerfile">iosfwd</filename> </para></listitem>
|
||||
<listitem><para><filename class="headerfile">functional</filename> no longer includes <filename class="headerfile">cstddef</filename></para></listitem>
|
||||
<listitem><para><filename class="headerfile">iomanip</filename> no longer includes <filename class="headerfile">istream</filename>, <filename class="headerfile">istream</filename>, or <filename class="headerfile">functional</filename>, adds <filename class="headerfile">ioswd</filename> </para></listitem>
|
||||
<listitem><para><filename class="headerfile">numeric</filename> no longer includes <filename class="headerfile">iterator</filename></para></listitem>
|
||||
<listitem><para><filename class="headerfile">string</filename> no longer includes <filename class="headerfile">algorithm</filename> or <filename class="headerfile">memory</filename></para></listitem>
|
||||
<listitem><para><filename class="headerfile"><algorithm></filename> no longer includes <filename class="headerfile"><climits></filename>, <filename class="headerfile"><cstring></filename>, or <filename class="headerfile"><iosfwd></filename> </para></listitem>
|
||||
<listitem><para><filename class="headerfile"><bitset></filename> no longer includes <filename class="headerfile"><istream></filename> or <filename class="headerfile"><ostream></filename>, adds <filename class="headerfile"><iosfwd></filename> </para></listitem>
|
||||
<listitem><para><filename class="headerfile"><functional></filename> no longer includes <filename class="headerfile"><cstddef></filename></para></listitem>
|
||||
<listitem><para><filename class="headerfile"><iomanip></filename> no longer includes <filename class="headerfile"><istream></filename>, <filename class="headerfile"><istream></filename>, or <filename class="headerfile"><functional></filename>, adds <filename class="headerfile"><ioswd></filename> </para></listitem>
|
||||
<listitem><para><filename class="headerfile"><numeric></filename> no longer includes <filename class="headerfile"><iterator></filename></para></listitem>
|
||||
<listitem><para><filename class="headerfile"><string></filename> no longer includes <filename class="headerfile"><algorithm></filename> or <filename class="headerfile"><memory></filename></para></listitem>
|
||||
|
||||
<listitem><para><filename class="headerfile">valarray</filename> no longer includes <filename class="headerfile">numeric</filename> or <filename class="headerfile">cstdlib</filename></para></listitem>
|
||||
<listitem><para><filename class="headerfile">tr1/hashtable</filename> no longer includes <filename class="headerfile">memory</filename> or <filename class="headerfile">functional</filename></para></listitem>
|
||||
<listitem><para><filename class="headerfile">tr1/memory</filename> no longer includes <filename class="headerfile">algorithm</filename></para></listitem>
|
||||
<listitem><para><filename class="headerfile">tr1/random</filename> no longer includes <filename class="headerfile">algorithm</filename> or <filename class="headerfile">fstream</filename></para></listitem>
|
||||
<listitem><para><filename class="headerfile"><valarray></filename> no longer includes <filename class="headerfile"><numeric></filename> or <filename class="headerfile"><cstdlib></filename></para></listitem>
|
||||
<listitem><para><filename class="headerfile"><tr1/hashtable></filename> no longer includes <filename class="headerfile"><memory></filename> or <filename class="headerfile"><functional></filename></para></listitem>
|
||||
<listitem><para><filename class="headerfile"><tr1/memory></filename> no longer includes <filename class="headerfile"><algorithm></filename></para></listitem>
|
||||
<listitem><para><filename class="headerfile"><tr1/random></filename> no longer includes <filename class="headerfile"><algorithm></filename> or <filename class="headerfile"><fstream></filename></para></listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>
|
||||
Debug mode for <filename class="headerfile">unordered_map</filename> and <filename class="headerfile">unordered_set</filename>.
|
||||
Debug mode for <filename class="headerfile"><unordered_map></filename> and <filename class="headerfile"><unordered_set></filename>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Parallel mode first appears.
|
||||
</para>
|
||||
|
||||
<para>Variadic template implementations of items in <filename class="headerfile">tuple</filename> and
|
||||
<filename class="headerfile">functional</filename>.
|
||||
<para>Variadic template implementations of items in <filename class="headerfile"><tuple></filename> and
|
||||
<filename class="headerfile"><functional></filename>.
|
||||
</para>
|
||||
|
||||
<para>Default <code>what</code> implementations give more elaborate
|
||||
|
@ -472,14 +471,14 @@ C++0X features.
|
|||
Added.
|
||||
</para>
|
||||
<para>
|
||||
<filename class="headerfile">atomic</filename>,
|
||||
<filename class="headerfile">chrono</filename>,
|
||||
<filename class="headerfile">condition_variable</filename>,
|
||||
<filename class="headerfile">forward_list</filename>,
|
||||
<filename class="headerfile">initializer_list</filename>,
|
||||
<filename class="headerfile">mutex</filename>,
|
||||
<filename class="headerfile">ratio</filename>,
|
||||
<filename class="headerfile">thread</filename>
|
||||
<filename class="headerfile"><atomic></filename>,
|
||||
<filename class="headerfile"><chrono></filename>,
|
||||
<filename class="headerfile"><condition_variable></filename>,
|
||||
<filename class="headerfile"><forward_list></filename>,
|
||||
<filename class="headerfile"><initializer_list></filename>,
|
||||
<filename class="headerfile"><mutex></filename>,
|
||||
<filename class="headerfile"><ratio></filename>,
|
||||
<filename class="headerfile"><thread></filename>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -488,9 +487,9 @@ C++0X features.
|
|||
Updated and improved.
|
||||
</para>
|
||||
<para>
|
||||
<filename class="headerfile">algorithm</filename>,
|
||||
<filename class="headerfile">system_error</filename>,
|
||||
<filename class="headerfile">type_traits</filename>
|
||||
<filename class="headerfile"><algorithm></filename>,
|
||||
<filename class="headerfile"><system_error></filename>,
|
||||
<filename class="headerfile"><type_traits></filename>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -558,8 +557,8 @@ local mutex.
|
|||
</para>
|
||||
|
||||
<para> Extensions
|
||||
added: <filename class="headerfile">ext/pointer.h</filename>
|
||||
and <filename class="headerfile">ext/extptr_allocator.h</filename>. Support
|
||||
added: <filename class="headerfile"><ext/pointer.h></filename>
|
||||
and <filename class="headerfile"><ext/extptr_allocator.h></filename>. Support
|
||||
for non-standard pointer types has been added
|
||||
to <classname>vector</classname>
|
||||
and <classname>forward_list</classname>.
|
||||
|
@ -581,9 +580,9 @@ C++0X features.
|
|||
Added.
|
||||
</para>
|
||||
<para>
|
||||
<filename class="headerfile">functional</filename>,
|
||||
<filename class="headerfile">future</filename>,
|
||||
<filename class="headerfile">random</filename>
|
||||
<filename class="headerfile"><functional></filename>,
|
||||
<filename class="headerfile"><future></filename>,
|
||||
<filename class="headerfile"><random></filename>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -592,9 +591,9 @@ C++0X features.
|
|||
Updated and improved.
|
||||
</para>
|
||||
<para>
|
||||
<filename class="headerfile">atomic</filename>,
|
||||
<filename class="headerfile">system_error</filename>,
|
||||
<filename class="headerfile">type_traits</filename>
|
||||
<filename class="headerfile"><atomic></filename>,
|
||||
<filename class="headerfile"><system_error></filename>,
|
||||
<filename class="headerfile"><type_traits></filename>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -623,11 +622,11 @@ Audit for application of function attributes nothrow, const, pure, and noreturn.
|
|||
|
||||
<para>
|
||||
The default behavior for comparing typeinfo names changed, so
|
||||
in <filename class="headerfile">typeinfo</filename>, <literal>__GXX_MERGED_TYPEINFO_NAMES</literal>
|
||||
in <filename class="headerfile"><typeinfo></filename>, <literal>__GXX_MERGED_TYPEINFO_NAMES</literal>
|
||||
now defaults to zero.
|
||||
</para>
|
||||
|
||||
<para> Extensions modified: <filename class="headerfile">ext/throw_allocator.h</filename>.
|
||||
<para> Extensions modified: <filename class="headerfile"><ext/throw_allocator.h></filename>.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
|
@ -639,7 +638,7 @@ now defaults to zero.
|
|||
|
||||
<para>
|
||||
The library was updated to avoid including
|
||||
<filename class="headerfile">stddef.h</filename> in order
|
||||
<filename class="headerfile"><stddef.h></filename> in order
|
||||
to reduce namespace pollution.
|
||||
</para>
|
||||
|
||||
|
@ -669,7 +668,7 @@ now defaults to zero.
|
|||
|
||||
<para>
|
||||
The library was updated to avoid including
|
||||
<filename class="headerfile">unistd.h</filename> in order
|
||||
<filename class="headerfile"><unistd.h></filename> in order
|
||||
to reduce namespace pollution.
|
||||
</para>
|
||||
|
||||
|
@ -819,6 +818,16 @@ now defaults to zero.
|
|||
|
||||
<para> Profile Mode was deprecated. </para>
|
||||
|
||||
<section xml:id="api.rel_72"><info><title><constant>7.2</constant></title></info>
|
||||
|
||||
<para>
|
||||
Library Fundamentals TS header
|
||||
<filename class="headerfile"><experimental/source_location></filename>
|
||||
added.
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
||||
<section xml:id="api.rel_73"><info><title><constant>7.3</constant></title></info>
|
||||
|
||||
<para>
|
||||
|
@ -839,9 +848,17 @@ now defaults to zero.
|
|||
</para>
|
||||
|
||||
<para>
|
||||
Improved experimental C++17 support. Headers
|
||||
<filename class="headerfile"><charconv></filename> and
|
||||
<filename class="headerfile"><filesystem></filename>.
|
||||
Experimental implementation of the C++17 Filesystem library added.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Experimental C++2a support
|
||||
(<function>to_address</function> and <classname>endian</classname>).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
AddressSanitizer annotations added to <classname>std::vector</classname>
|
||||
to detect out-of-range accesses to the unused capacity of a vector.
|
||||
|
@ -895,4 +912,38 @@ now defaults to zero.
|
|||
|
||||
</section>
|
||||
|
||||
<section xml:id="api.rel_91"><info><title><constant>9</constant></title></info>
|
||||
|
||||
<para>
|
||||
C++17 header
|
||||
<filename class="headerfile"><memory_resource></filename>
|
||||
added.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Experimental C++2a support improved, with new headers
|
||||
<filename class="headerfile"><bit></filename> and
|
||||
<filename class="headerfile"><version></filename> added.
|
||||
Support for new character type <type>char8_t</type> added
|
||||
to <classname>char_traits</classname>, <classname>basic_string</classname>,
|
||||
<classname>numeric_limits</classname>,
|
||||
and relevant locale facets and type traits.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Experimental implementation of the Networking TS library added,
|
||||
with new headers
|
||||
<filename class="headerfile"><experimental/buffer></filename>,
|
||||
<filename class="headerfile"><experimental/executor></filename>,
|
||||
<filename class="headerfile"><experimental/internet></filename>,
|
||||
<filename class="headerfile"><experimental/io_context></filename>,
|
||||
<filename class="headerfile"><experimental/net></filename>,
|
||||
<filename class="headerfile"><experimental/netfwd></filename>,
|
||||
<filename class="headerfile"><experimental/socket></filename>,
|
||||
and
|
||||
<filename class="headerfile"><experimental/timer></filename>.
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
||||
</section>
|
||||
|
|
|
@ -1192,7 +1192,7 @@ g++ -Winvalid-pch -I. -include stdc++.h -H -g -O2 hello.cc -o test.exe
|
|||
enabled for
|
||||
<classname>std::vector<T, std::allocator<T>></classname>
|
||||
and only when <classname>std::allocator</classname> is derived from
|
||||
<link linkend="allocator.impl"><classname>new_allocator</classname>
|
||||
<link linkend="allocator.ext"><classname>new_allocator</classname>
|
||||
or <classname>malloc_allocator</classname></link>. The annotations
|
||||
must be present on all vector operations or none, so this macro must
|
||||
be defined to the same value for all translation units that create,
|
||||
|
|
Loading…
Reference in New Issue