status_cxx200x.xml: Add some missing features.
2010-07-06 Jonathan Wakely <jwakely.gcc@gmail.com> * doc/xml/manual/status_cxx200x.xml: Add some missing features. * doc/html/*: Regenerate. From-SVN: r161892
This commit is contained in:
parent
b1e2556518
commit
604b91240e
@ -1,3 +1,8 @@
|
|||||||
|
2010-07-06 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||||
|
|
||||||
|
* doc/xml/manual/status_cxx200x.xml: Add some missing features.
|
||||||
|
* doc/html/*: Regenerate.
|
||||||
|
|
||||||
2010-07-03 Jonathan Wakely <jwakely.gcc@gmail.com>
|
2010-07-03 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||||
|
|
||||||
* include/bits/regex_compiler.h: Fix filename in doxygen comment.
|
* include/bits/regex_compiler.h: Fix filename in doxygen comment.
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
<a class="ulink" href="http://www.fsf.org/" target="_top">FSF
|
<a class="ulink" href="http://www.fsf.org/" target="_top">FSF
|
||||||
</a>
|
</a>
|
||||||
</p></div><div><div class="legalnotice" title="Legal Notice"><a id="id491737"></a><p>
|
</p></div><div><div class="legalnotice" title="Legal Notice"><a id="id541157"></a><p>
|
||||||
<a class="link" href="manual/license.html" title="License">License
|
<a class="link" href="manual/license.html" title="License">License
|
||||||
</a>
|
</a>
|
||||||
</p></div></div></div><hr /></div><p>
|
</p></div></div></div><hr /></div><p>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
2008
|
2008
|
||||||
|
|
||||||
<a class="ulink" href="http://www.fsf.org" target="_top">FSF</a>
|
<a class="ulink" href="http://www.fsf.org" target="_top">FSF</a>
|
||||||
</p></div></div><hr /></div><div class="qandaset" title="Frequently Asked Questions"><a id="id573102"></a><dl><dt>1. <a href="faq.html#faq.info">General Information</a></dt><dd><dl><dt>1.1. <a href="faq.html#faq.what">
|
</p></div></div><hr /></div><div class="qandaset" title="Frequently Asked Questions"><a id="id541742"></a><dl><dt>1. <a href="faq.html#faq.info">General Information</a></dt><dd><dl><dt>1.1. <a href="faq.html#faq.what">
|
||||||
What is libstdc++?
|
What is libstdc++?
|
||||||
</a></dt><dt>1.2. <a href="faq.html#faq.why">
|
</a></dt><dt>1.2. <a href="faq.html#faq.why">
|
||||||
Why should I use libstdc++?
|
Why should I use libstdc++?
|
||||||
|
@ -5,9 +5,9 @@
|
|||||||
|
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="ABI Policy and Guidelines"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.abi"></a>ABI Policy and Guidelines</h2></div></div></div><p>
|
</th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="ABI Policy and Guidelines"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.abi"></a>ABI Policy and Guidelines</h2></div></div></div><p>
|
||||||
</p><div class="sect2" title="The C++ Interface"><div class="titlepage"><div><div><h3 class="title"><a id="abi.cxx_interface"></a>The C++ Interface</h3></div></div></div><p>
|
</p><div class="sect2" title="The C++ Interface"><div class="titlepage"><div><div><h3 class="title"><a id="abi.cxx_interface"></a>The C++ Interface</h3></div></div></div><p>
|
||||||
C++ applications often dependent on specific language support
|
C++ applications often depend on specific language support
|
||||||
routines, say for throwing exceptions, or catching exceptions, and
|
routines, say for throwing exceptions, or catching exceptions, and
|
||||||
perhaps also dependent on features in the C++ Standard Library.
|
perhaps also depend on features in the C++ Standard Library.
|
||||||
</p><p>
|
</p><p>
|
||||||
The C++ Standard Library has many include files, types defined in
|
The C++ Standard Library has many include files, types defined in
|
||||||
those include files, specific named functions, and other
|
those include files, specific named functions, and other
|
||||||
@ -65,7 +65,7 @@ as to give distinct versions to the C++ interface.
|
|||||||
releases of library binaries the ability to add new symbols and add
|
releases of library binaries the ability to add new symbols and add
|
||||||
functionality, all the while retaining compatibility with the previous
|
functionality, all the while retaining compatibility with the previous
|
||||||
releases in the series. Thus, program binaries linked with the initial
|
releases in the series. Thus, program binaries linked with the initial
|
||||||
release of a library binary will still link correctly if the library
|
release of a library binary will still run correctly if the library
|
||||||
binary is replaced by carefully-managed subsequent library
|
binary is replaced by carefully-managed subsequent library
|
||||||
binaries. This is called forward compatibility.
|
binaries. This is called forward compatibility.
|
||||||
</p><p>
|
</p><p>
|
||||||
@ -99,7 +99,7 @@ compatible.
|
|||||||
is not listed, it has the same version labels as the preceding
|
is not listed, it has the same version labels as the preceding
|
||||||
release.</p><p>This corresponds to the mapfile: gcc/libgcc-std.ver</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>gcc-3.0.0: GCC_3.0</p></li><li class="listitem"><p>gcc-3.3.0: GCC_3.3</p></li><li class="listitem"><p>gcc-3.3.1: GCC_3.3.1</p></li><li class="listitem"><p>gcc-3.3.2: GCC_3.3.2</p></li><li class="listitem"><p>gcc-3.3.4: GCC_3.3.4</p></li><li class="listitem"><p>gcc-3.4.0: GCC_3.4</p></li><li class="listitem"><p>gcc-3.4.2: GCC_3.4.2</p></li><li class="listitem"><p>gcc-3.4.4: GCC_3.4.4</p></li><li class="listitem"><p>gcc-4.0.0: GCC_4.0.0</p></li><li class="listitem"><p>gcc-4.1.0: GCC_4.1.0</p></li><li class="listitem"><p>gcc-4.2.0: GCC_4.2.0</p></li><li class="listitem"><p>gcc-4.3.0: GCC_4.3.0</p></li><li class="listitem"><p>gcc-4.4.0: GCC_4.4.0</p></li></ul></div></li><li class="listitem"><p>
|
release.</p><p>This corresponds to the mapfile: gcc/libgcc-std.ver</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>gcc-3.0.0: GCC_3.0</p></li><li class="listitem"><p>gcc-3.3.0: GCC_3.3</p></li><li class="listitem"><p>gcc-3.3.1: GCC_3.3.1</p></li><li class="listitem"><p>gcc-3.3.2: GCC_3.3.2</p></li><li class="listitem"><p>gcc-3.3.4: GCC_3.3.4</p></li><li class="listitem"><p>gcc-3.4.0: GCC_3.4</p></li><li class="listitem"><p>gcc-3.4.2: GCC_3.4.2</p></li><li class="listitem"><p>gcc-3.4.4: GCC_3.4.4</p></li><li class="listitem"><p>gcc-4.0.0: GCC_4.0.0</p></li><li class="listitem"><p>gcc-4.1.0: GCC_4.1.0</p></li><li class="listitem"><p>gcc-4.2.0: GCC_4.2.0</p></li><li class="listitem"><p>gcc-4.3.0: GCC_4.3.0</p></li><li class="listitem"><p>gcc-4.4.0: GCC_4.4.0</p></li></ul></div></li><li class="listitem"><p>
|
||||||
Release versioning on the libstdc++.so binary, implemented in
|
Release versioning on the libstdc++.so binary, implemented in
|
||||||
the same was as the libgcc_s.so binary above. Listed is the
|
the same way as the libgcc_s.so binary above. Listed is the
|
||||||
filename: <code class="constant">DT_SONAME</code> can be deduced from
|
filename: <code class="constant">DT_SONAME</code> can be deduced from
|
||||||
the filename by removing the last two period-delimited numbers. For
|
the filename by removing the last two period-delimited numbers. For
|
||||||
example, filename <code class="filename">libstdc++.so.5.0.4</code>
|
example, filename <code class="filename">libstdc++.so.5.0.4</code>
|
||||||
@ -117,9 +117,9 @@ compatible.
|
|||||||
Note 3: This release (but not previous or subsequent) has one
|
Note 3: This release (but not previous or subsequent) has one
|
||||||
known incompatibility, see <a class="ulink" href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33678" target="_top">33678</a>
|
known incompatibility, see <a class="ulink" href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33678" target="_top">33678</a>
|
||||||
in the GCC bug database.
|
in the GCC bug database.
|
||||||
</p></li><li class="listitem"><p>Symbol versioning on the libstdc++.so binary.</p><p>mapfile: libstdc++/config/linker-map.gnu</p><p>It is versioned with the following labels and version
|
</p></li><li class="listitem"><p>Symbol versioning on the libstdc++.so binary.</p><p>mapfile: libstdc++-v3/config/abi/pre/gnu.ver</p><p>It is versioned with the following labels and version
|
||||||
definitions, where the version definition is the maximum for a
|
definitions, where the version definition is the maximum for a
|
||||||
particular release. Note, only symbol which are newly introduced
|
particular release. Note, only symbols which are newly introduced
|
||||||
will use the maximum version definition. Thus, for release series
|
will use the maximum version definition. Thus, for release series
|
||||||
with the same label, but incremented version definitions, the later
|
with the same label, but incremented version definitions, the later
|
||||||
release has both versions. (An example of this would be the
|
release has both versions. (An example of this would be the
|
||||||
@ -151,7 +151,7 @@ compatible.
|
|||||||
was released, in compressed ISO date format, as an unsigned long.
|
was released, in compressed ISO date format, as an unsigned long.
|
||||||
</p><p>
|
</p><p>
|
||||||
This macro is defined in the file "c++config" in the
|
This macro is defined in the file "c++config" in the
|
||||||
"libstdc++/include/bits" directory. (Up to gcc-4.1.0, it was
|
"libstdc++-v3/include/bits" directory. (Up to gcc-4.1.0, it was
|
||||||
changed every night by an automated script. Since gcc-4.1.0, it is
|
changed every night by an automated script. Since gcc-4.1.0, it is
|
||||||
the same value as gcc/DATESTAMP.)
|
the same value as gcc/DATESTAMP.)
|
||||||
</p><p>
|
</p><p>
|
||||||
@ -164,7 +164,7 @@ compatible.
|
|||||||
is called _GLIBCXX_VERSION).
|
is called _GLIBCXX_VERSION).
|
||||||
</p><p>
|
</p><p>
|
||||||
This macro is defined in the file "c++config" in the
|
This macro is defined in the file "c++config" in the
|
||||||
"libstdc++/include/bits" directory and is generated
|
"libstdc++-v3/include/bits" directory and is generated
|
||||||
automatically by autoconf as part of the configure-time generation
|
automatically by autoconf as part of the configure-time generation
|
||||||
of config.h.
|
of config.h.
|
||||||
</p><p>
|
</p><p>
|
||||||
@ -177,7 +177,7 @@ compatible.
|
|||||||
All C++ includes are installed in include/c++, then nest in a
|
All C++ includes are installed in include/c++, then nest in a
|
||||||
directory hierarchy corresponding to the C++ compiler's released
|
directory hierarchy corresponding to the C++ compiler's released
|
||||||
version. This version corresponds to the variable "gcc_version" in
|
version. This version corresponds to the variable "gcc_version" in
|
||||||
"libstdc++/acinclude.m4," and more details can be found in that
|
"libstdc++-v3/acinclude.m4," and more details can be found in that
|
||||||
file's macro GLIBCXX_CONFIGURE (GLIBCPP_CONFIGURE before gcc-3.4.0).
|
file's macro GLIBCXX_CONFIGURE (GLIBCPP_CONFIGURE before gcc-3.4.0).
|
||||||
</p><p>
|
</p><p>
|
||||||
C++ includes are versioned as follows:
|
C++ includes are versioned as follows:
|
||||||
@ -190,7 +190,8 @@ compatible.
|
|||||||
</p></div><div class="sect3" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.prereq"></a>Prerequisites</h4></div></div></div><p>
|
</p></div><div class="sect3" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.prereq"></a>Prerequisites</h4></div></div></div><p>
|
||||||
Minimum environment that supports a versioned ABI: A supported
|
Minimum environment that supports a versioned ABI: A supported
|
||||||
dynamic linker, a GNU linker of sufficient vintage to understand
|
dynamic linker, a GNU linker of sufficient vintage to understand
|
||||||
demangled C++ name globbing (ld), a shared executable compiled
|
demangled C++ name globbing (ld) or the Sun linker, a shared
|
||||||
|
executable compiled
|
||||||
with g++, and shared libraries (libgcc_s, libstdc++) compiled by
|
with g++, and shared libraries (libgcc_s, libstdc++) compiled by
|
||||||
a compiler (g++) with a compatible ABI. Phew.
|
a compiler (g++) with a compatible ABI. Phew.
|
||||||
</p><p>
|
</p><p>
|
||||||
@ -200,7 +201,7 @@ compatible.
|
|||||||
</p><p>
|
</p><p>
|
||||||
Most modern Linux and BSD versions, particularly ones using
|
Most modern Linux and BSD versions, particularly ones using
|
||||||
gcc-3.1.x tools and more recent vintages, will meet the
|
gcc-3.1.x tools and more recent vintages, will meet the
|
||||||
requirements above.
|
requirements above, as does Solaris 2.5 and up.
|
||||||
</p></div><div class="sect3" title="Configuring"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.config"></a>Configuring</h4></div></div></div><p>
|
</p></div><div class="sect3" title="Configuring"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.config"></a>Configuring</h4></div></div></div><p>
|
||||||
It turns out that most of the configure options that change
|
It turns out that most of the configure options that change
|
||||||
default behavior will impact the mangled names of exported
|
default behavior will impact the mangled names of exported
|
||||||
@ -208,12 +209,12 @@ compatible.
|
|||||||
</p><p>
|
</p><p>
|
||||||
For more information on configure options, including ABI
|
For more information on configure options, including ABI
|
||||||
impacts, see:
|
impacts, see:
|
||||||
http://gcc.gnu.org/onlinedocs/libstdc++/configopts.html
|
<a class="link" href="configure.html" title="Configure">here</a>
|
||||||
</p><p>
|
</p><p>
|
||||||
There is one flag that explicitly deals with symbol versioning:
|
There is one flag that explicitly deals with symbol versioning:
|
||||||
--enable-symvers.
|
--enable-symvers.
|
||||||
</p><p>
|
</p><p>
|
||||||
In particular, libstdc++/acinclude.m4 has a macro called
|
In particular, libstdc++-v3/acinclude.m4 has a macro called
|
||||||
GLIBCXX_ENABLE_SYMVERS that defaults to yes (or the argument
|
GLIBCXX_ENABLE_SYMVERS that defaults to yes (or the argument
|
||||||
passed in via --enable-symvers=foo). At that point, the macro
|
passed in via --enable-symvers=foo). At that point, the macro
|
||||||
attempts to make sure that all the requirement for symbol
|
attempts to make sure that all the requirement for symbol
|
||||||
@ -228,6 +229,7 @@ compatible.
|
|||||||
checking versioning on shared library symbols... gnu
|
checking versioning on shared library symbols... gnu
|
||||||
</code>
|
</code>
|
||||||
</pre><p>
|
</pre><p>
|
||||||
|
or another of the supported styles.
|
||||||
If you don't see this line in the configure output, or if this line
|
If you don't see this line in the configure output, or if this line
|
||||||
appears but the last word is 'no', then you are out of luck.
|
appears but the last word is 'no', then you are out of luck.
|
||||||
</p><p>
|
</p><p>
|
||||||
@ -255,6 +257,17 @@ If you see symbols in the resulting output with "GLIBCXX_3" as part
|
|||||||
of the name, then the executable is versioned. Here's an example:
|
of the name, then the executable is versioned. Here's an example:
|
||||||
</p><p>
|
</p><p>
|
||||||
<code class="code">U _ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4</code>
|
<code class="code">U _ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4</code>
|
||||||
|
</p><p>
|
||||||
|
On Solaris 2, you can use <code class="code">pvs -r</code> instead:
|
||||||
|
</p><pre class="programlisting">
|
||||||
|
%g++ hello.cc -o hello.out
|
||||||
|
|
||||||
|
%pvs -r hello.out
|
||||||
|
libstdc++.so.6 (GLIBCXX_3.4, GLIBCXX_3.4.12);
|
||||||
|
libgcc_s.so.1 (GCC_3.0);
|
||||||
|
libc.so.1 (SUNWprivate_1.1, SYSVABI_1.3);
|
||||||
|
</pre><p>
|
||||||
|
<code class="code">ldd -v</code> works too, but is very verbose.
|
||||||
</p></div></div><div class="sect2" title="Allowed Changes"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_allowed"></a>Allowed Changes</h3></div></div></div><p>
|
</p></div></div><div class="sect2" title="Allowed Changes"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_allowed"></a>Allowed Changes</h3></div></div></div><p>
|
||||||
The following will cause the library minor version number to
|
The following will cause the library minor version number to
|
||||||
increase, say from "libstdc++.so.3.0.4" to "libstdc++.so.3.0.5".
|
increase, say from "libstdc++.so.3.0.4" to "libstdc++.so.3.0.5".
|
||||||
@ -274,7 +287,7 @@ number to increase, say from "libstdc++.so.3.0.4" to
|
|||||||
</p></li><li class="listitem"><p> Adding an explicit copy constructor or destructor to a
|
</p></li><li class="listitem"><p> Adding an explicit copy constructor or destructor to a
|
||||||
class that would otherwise have implicit versions. This will change
|
class that would otherwise have implicit versions. This will change
|
||||||
the way the compiler deals with this class in by-value return
|
the way the compiler deals with this class in by-value return
|
||||||
statements or parameters: instead of being passing instances of this
|
statements or parameters: instead of passing instances of this
|
||||||
class in registers, the compiler will be forced to use memory. See <a class="ulink" href="http://www.codesourcery.com/cxx-abi/abi.html#calls" target="_top"> this part</a>
|
class in registers, the compiler will be forced to use memory. See <a class="ulink" href="http://www.codesourcery.com/cxx-abi/abi.html#calls" target="_top"> this part</a>
|
||||||
of the C++ ABI documentation for further details.
|
of the C++ ABI documentation for further details.
|
||||||
</p></li></ol></div></div><div class="sect2" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="abi.impl"></a>Implementation</h3></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
|
</p></li></ol></div></div><div class="sect2" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="abi.impl"></a>Implementation</h3></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
|
||||||
@ -358,7 +371,7 @@ http://gcc.gnu.org/ml/gcc/2002-08/msg00142.html
|
|||||||
Two.
|
Two.
|
||||||
Use the 'make check-abi' rule in the libstdc++ Makefile.
|
Use the 'make check-abi' rule in the libstdc++ Makefile.
|
||||||
</p><p>
|
</p><p>
|
||||||
This is a proactive check the library ABI. Currently, exported symbol
|
This is a proactive check of the library ABI. Currently, exported symbol
|
||||||
names that are either weak or defined are checked against a last known
|
names that are either weak or defined are checked against a last known
|
||||||
good baseline. Currently, this baseline is keyed off of 3.4.0
|
good baseline. Currently, this baseline is keyed off of 3.4.0
|
||||||
binaries, as this was the last time the .so number was incremented. In
|
binaries, as this was the last time the .so number was incremented. In
|
||||||
@ -387,13 +400,13 @@ Another approach might be to use the -fdump-class-hierarchy flag to
|
|||||||
get information. However, currently this approach gives insufficient
|
get information. However, currently this approach gives insufficient
|
||||||
data for use in library testing, as class data members, their offsets,
|
data for use in library testing, as class data members, their offsets,
|
||||||
and other detailed data is not displayed with this flag.
|
and other detailed data is not displayed with this flag.
|
||||||
(See g++/7470 on how this was used to find bugs.)
|
(See PR g++/7470 on how this was used to find bugs.)
|
||||||
</p><p>
|
</p><p>
|
||||||
Perhaps there are other C++ ABI checkers. If so, please notify
|
Perhaps there are other C++ ABI checkers. If so, please notify
|
||||||
us. We'd like to know about them!
|
us. We'd like to know about them!
|
||||||
</p></div><div class="sect3" title="Multiple ABI Testing"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.multi"></a>Multiple ABI Testing</h4></div></div></div><p>
|
</p></div><div class="sect3" title="Multiple ABI Testing"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.multi"></a>Multiple ABI Testing</h4></div></div></div><p>
|
||||||
A "C" application, dynamically linked to two shared libraries, liba,
|
A "C" application, dynamically linked to two shared libraries, liba,
|
||||||
libb. The dependent library liba is C++ shared library compiled with
|
libb. The dependent library liba is a C++ shared library compiled with
|
||||||
gcc-3.3.x, and uses io, exceptions, locale, etc. The dependent library
|
gcc-3.3.x, and uses io, exceptions, locale, etc. The dependent library
|
||||||
libb is a C++ shared library compiled with gcc-3.4.x, and also uses io,
|
libb is a C++ shared library compiled with gcc-3.4.x, and also uses io,
|
||||||
exceptions, locale, etc.
|
exceptions, locale, etc.
|
||||||
@ -467,49 +480,49 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
|
|||||||
<a class="ulink" href="http://gcc.gnu.org/PR24660" target="_top">24660: versioning weak symbols in libstdc++</a>
|
<a class="ulink" href="http://gcc.gnu.org/PR24660" target="_top">24660: versioning weak symbols in libstdc++</a>
|
||||||
</p><p>
|
</p><p>
|
||||||
<a class="ulink" href="http://gcc.gnu.org/PR19664" target="_top">19664: libstdc++ headers should have pop/push of the visibility around the declarations</a>
|
<a class="ulink" href="http://gcc.gnu.org/PR19664" target="_top">19664: libstdc++ headers should have pop/push of the visibility around the declarations</a>
|
||||||
</p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="abi.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id528502"></a><p><span class="biblioid">
|
</p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="abi.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id619029"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://abicheck.sourceforge.net/" target="_top">
|
<a class="ulink" href="http://abicheck.sourceforge.net/" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
ABIcheck, a vague idea of checking ABI compatibility
|
ABIcheck, a vague idea of checking ABI compatibility
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span></p></div><div class="biblioentry"><a id="id528522"></a><p><span class="biblioid">
|
. </span></p></div><div class="biblioentry"><a id="id619049"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.codesourcery.com/public/cxx-abi/" target="_top">
|
<a class="ulink" href="http://www.codesourcery.com/public/cxx-abi/" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
C++ ABI Reference
|
C++ ABI Reference
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span></p></div><div class="biblioentry"><a id="id528541"></a><p><span class="biblioid">
|
. </span></p></div><div class="biblioentry"><a id="id619068"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.intel.com/cd/software/products/asmo-na/eng/284736.htm" target="_top">
|
<a class="ulink" href="http://www.intel.com/cd/software/products/asmo-na/eng/284736.htm" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Intel Compilers for Linux Compatibility with the GNU Compilers
|
Intel Compilers for Linux Compatibility with the GNU Compilers
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span></p></div><div class="biblioentry"><a id="id528561"></a><p><span class="biblioid">
|
. </span></p></div><div class="biblioentry"><a id="id619088"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://docs.sun.com/app/docs/doc/817-1984" target="_top">
|
<a class="ulink" href="http://docs.sun.com/app/docs/doc/819-0690" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Sun Solaris 2.9 : Linker and Libraries Guide (document 816-1386)
|
Linker and Libraries Guide (document 819-0690)
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span></p></div><div class="biblioentry"><a id="id528581"></a><p><span class="biblioid">
|
. </span></p></div><div class="biblioentry"><a id="id619107"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://docs.sun.com/app/docs/doc/819-5266" target="_top">
|
<a class="ulink" href="http://docs.sun.com/app/docs/doc/819-3689" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Sun Solaris 2.9 : C++ Migration Guide (document 816-2459)
|
Sun Studio 11: C++ Migration Guide (document 819-3689)
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span></p></div><div class="biblioentry"><a id="id528600"></a><p><span class="biblioid">
|
. </span></p></div><div class="biblioentry"><a id="id619127"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://people.redhat.com/drepper/dsohowto.pdf" target="_top">
|
<a class="ulink" href="http://people.redhat.com/drepper/dsohowto.pdf" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
How to Write Shared Libraries
|
How to Write Shared Libraries
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span></p></div><div class="biblioentry"><a id="id528631"></a><p><span class="biblioid">
|
. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span></p></div><div class="biblioentry"><a id="id619157"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.arm.com/miscPDFs/8033.pdf" target="_top">
|
<a class="ulink" href="http://www.arm.com/miscPDFs/8033.pdf" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
C++ ABI for the ARM Architecture
|
C++ ABI for the ARM Architecture
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span></p></div><div class="biblioentry"><a id="id528651"></a><p><span class="biblioid">
|
. </span></p></div><div class="biblioentry"><a id="id619177"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1976.html" target="_top">
|
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1976.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Dynamic Shared Objects: Survey and Issues
|
Dynamic Shared Objects: Survey and Issues
|
||||||
@ -517,7 +530,7 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
|
|||||||
</a>
|
</a>
|
||||||
. </span><span class="subtitle">
|
. </span><span class="subtitle">
|
||||||
ISO C++ J16/06-0046
|
ISO C++ J16/06-0046
|
||||||
. </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="id528685"></a><p><span class="biblioid">
|
. </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="id619212"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2013.html" target="_top">
|
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2013.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Versioning With Namespaces
|
Versioning With Namespaces
|
||||||
@ -525,7 +538,7 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
|
|||||||
</a>
|
</a>
|
||||||
. </span><span class="subtitle">
|
. </span><span class="subtitle">
|
||||||
ISO C++ J16/06-0083
|
ISO C++ J16/06-0083
|
||||||
. </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="id639657"></a><p><span class="biblioid">
|
. </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="id619247"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://syrcose.ispras.ru/2009/files/SYRCoSE2009-CfP.pdf" target="_top">
|
<a class="ulink" href="http://syrcose.ispras.ru/2009/files/SYRCoSE2009-CfP.pdf" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Binary Compatibility of Shared Libraries Implemented in C++
|
Binary Compatibility of Shared Libraries Implemented in C++
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
Standard Contents
|
Standard Contents
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 11. Algorithms"><div class="titlepage"><div><div><h2 class="title"><a id="std.algorithms"></a>Chapter 11.
|
</th><td width="20%" align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 11. Algorithms"><div class="titlepage"><div><div><h2 class="title"><a id="std.algorithms"></a>Chapter 11.
|
||||||
Algorithms
|
Algorithms
|
||||||
<a id="id539624" class="indexterm"></a>
|
<a id="id598451" class="indexterm"></a>
|
||||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="algorithms.html#std.algorithms.mutating">Mutating</a></span></dt><dd><dl><dt><span class="sect2"><a href="algorithms.html#algorithms.mutating.swap"><code class="function">swap</code></a></span></dt></dl></dd></dl></div><p>
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="algorithms.html#std.algorithms.mutating">Mutating</a></span></dt><dd><dl><dt><span class="sect2"><a href="algorithms.html#algorithms.mutating.swap"><code class="function">swap</code></a></span></dt></dl></dd></dl></div><p>
|
||||||
The neatest accomplishment of the algorithms sect1 is that all the
|
The neatest accomplishment of the algorithms sect1 is that all the
|
||||||
work is done via iterators, not containers directly. This means two
|
work is done via iterators, not containers directly. This means two
|
||||||
|
@ -75,11 +75,11 @@ _Alloc_traits</code> have been removed.
|
|||||||
<span class="type">__alloc</span> to select an underlying allocator that
|
<span class="type">__alloc</span> to select an underlying allocator that
|
||||||
satisfied memory allocation requests. The selection of this
|
satisfied memory allocation requests. The selection of this
|
||||||
underlying allocator was not user-configurable.
|
underlying allocator was not user-configurable.
|
||||||
</p><div class="table"><a id="id659684"></a><p class="title"><b>Table B.1. Extension Allocators</b></p><div class="table-contents"><table summary="Extension Allocators" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></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="id535814"></a><p class="title"><b>Table B.1. Extension Allocators</b></p><div class="table-contents"><table summary="Extension Allocators" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></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
|
of available allocators. All of these new allocators are
|
||||||
standard-style. The following table includes details, along with
|
standard-style. The following table includes details, along with
|
||||||
the first released version of GCC that included the extension allocator.
|
the first released version of GCC that included the extension allocator.
|
||||||
</p><div class="table"><a id="id651845"></a><p class="title"><b>Table B.2. Extension Allocators Continued</b></p><div class="table-contents"><table summary="Extension Allocators Continued" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /></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="id570649"></a><p class="title"><b>Table B.2. Extension Allocators Continued</b></p><div class="table-contents"><table summary="Extension Allocators Continued" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /></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.
|
Debug mode first appears.
|
||||||
</p><p>
|
</p><p>
|
||||||
Precompiled header support <acronym class="acronym">PCH</acronym> support.
|
Precompiled header support <acronym class="acronym">PCH</acronym> support.
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
Appendices
|
Appendices
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix A. Contributing"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.contrib"></a>Appendix A.
|
</th><td width="20%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix A. Contributing"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.contrib"></a>Appendix A.
|
||||||
Contributing
|
Contributing
|
||||||
<a id="id572634" class="indexterm"></a>
|
<a id="id676996" class="indexterm"></a>
|
||||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="sect1"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="sect2"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="sect1"><a href="documentation_style.html">Documentation Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="documentation_style.html#doc_style.doxygen">Doxygen</a></span></dt><dt><span class="sect2"><a href="documentation_style.html#doc_style.docbook">Docbook</a></span></dt><dt><span class="sect2"><a href="documentation_style.html#doc_style.combines">Combines</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></div><p>
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="sect1"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="sect2"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="sect1"><a href="documentation_style.html">Documentation Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="documentation_style.html#doc_style.doxygen">Doxygen</a></span></dt><dt><span class="sect2"><a href="documentation_style.html#doc_style.docbook">Docbook</a></span></dt><dt><span class="sect2"><a href="documentation_style.html#doc_style.combines">Combines</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></div><p>
|
||||||
The GNU C++ Library follows an open development model. Active
|
The GNU C++ Library follows an open development model. Active
|
||||||
contributors are assigned maintainer-ship responsibility, and given
|
contributors are assigned maintainer-ship responsibility, and given
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
Appendices
|
Appendices
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix C. Free Software Needs Free Documentation"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.free"></a>Appendix C.
|
</th><td width="20%" align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix C. Free Software Needs Free Documentation"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.free"></a>Appendix C.
|
||||||
Free Software Needs Free Documentation
|
Free Software Needs Free Documentation
|
||||||
<a id="id536958" class="indexterm"></a>
|
<a id="id617380" class="indexterm"></a>
|
||||||
</h2></div></div></div><p>
|
</h2></div></div></div><p>
|
||||||
The biggest deficiency in free operating systems is not in the
|
The biggest deficiency in free operating systems is not in the
|
||||||
software--it is the lack of good free manuals that we can include in
|
software--it is the lack of good free manuals that we can include in
|
||||||
|
@ -78,7 +78,7 @@
|
|||||||
</p><p>
|
</p><p>
|
||||||
The precise terms and conditions for copying, distribution and modification
|
The precise terms and conditions for copying, distribution and modification
|
||||||
follow.
|
follow.
|
||||||
</p><h2><a id="id537276"></a>
|
</p><h2><a id="id607528"></a>
|
||||||
TERMS AND CONDITIONS
|
TERMS AND CONDITIONS
|
||||||
</h2><h2><a id="gpl-3-definitions"></a>
|
</h2><h2><a id="gpl-3-definitions"></a>
|
||||||
0. Definitions.
|
0. Definitions.
|
||||||
@ -619,7 +619,7 @@
|
|||||||
waiver of all civil liability in connection with the Program, unless a
|
waiver of all civil liability in connection with the Program, unless a
|
||||||
warranty or assumption of liability accompanies a copy of the Program in
|
warranty or assumption of liability accompanies a copy of the Program in
|
||||||
return for a fee.
|
return for a fee.
|
||||||
</p><h2><a id="id566887"></a>
|
</p><h2><a id="id563575"></a>
|
||||||
END OF TERMS AND CONDITIONS
|
END OF TERMS AND CONDITIONS
|
||||||
</h2><h2><a id="HowToApply"></a>
|
</h2><h2><a id="HowToApply"></a>
|
||||||
How to Apply These Terms to Your New Programs
|
How to Apply These Terms to Your New Programs
|
||||||
|
File diff suppressed because one or more lines are too long
@ -7,7 +7,7 @@
|
|||||||
Standard Contents
|
Standard Contents
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="concurrency.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 14. Atomics"><div class="titlepage"><div><div><h2 class="title"><a id="std.atomics"></a>Chapter 14.
|
</th><td width="20%" align="right"> <a accesskey="n" href="concurrency.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 14. Atomics"><div class="titlepage"><div><div><h2 class="title"><a id="std.atomics"></a>Chapter 14.
|
||||||
Atomics
|
Atomics
|
||||||
<a id="id601538" class="indexterm"></a>
|
<a id="id573732" class="indexterm"></a>
|
||||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="atomics.html#std.atomics.api">API Reference</a></span></dt></dl></div><p>
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="atomics.html#std.atomics.api">API Reference</a></span></dt></dl></div><p>
|
||||||
Facilities for atomic operations.
|
Facilities for atomic operations.
|
||||||
</p><div class="sect1" title="API Reference"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.atomics.api"></a>API Reference</h2></div></div></div><p>
|
</p><div class="sect1" title="API Reference"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.atomics.api"></a>API Reference</h2></div></div></div><p>
|
||||||
|
@ -17,8 +17,8 @@ ISO Standard (e.g., statistical analysis). While there are a lot of
|
|||||||
really useful things that are used by a lot of people, the Standards
|
really useful things that are used by a lot of people, the Standards
|
||||||
Committee couldn't include everything, and so a lot of those
|
Committee couldn't include everything, and so a lot of those
|
||||||
<span class="quote">“<span class="quote">obvious</span>”</span> classes didn't get included.
|
<span class="quote">“<span class="quote">obvious</span>”</span> classes didn't get included.
|
||||||
</p><p>Known Issues include many of the limitations of its immediate ancestor.</p><p>Portability notes and known implementation limitations are as follows.</p><div class="sect3" title="No ios_base"><div class="titlepage"><div><div><h4 class="title"><a id="id591781"></a>No <code class="code">ios_base</code></h4></div></div></div><p> At least some older implementations don't have <code class="code">std::ios_base</code>, so you should use <code class="code">std::ios::badbit</code>, <code class="code">std::ios::failbit</code> and <code class="code">std::ios::eofbit</code> and <code class="code">std::ios::goodbit</code>.
|
</p><p>Known Issues include many of the limitations of its immediate ancestor.</p><p>Portability notes and known implementation limitations are as follows.</p><div class="sect3" title="No ios_base"><div class="titlepage"><div><div><h4 class="title"><a id="id675718"></a>No <code class="code">ios_base</code></h4></div></div></div><p> At least some older implementations don't have <code class="code">std::ios_base</code>, so you should use <code class="code">std::ios::badbit</code>, <code class="code">std::ios::failbit</code> and <code class="code">std::ios::eofbit</code> and <code class="code">std::ios::goodbit</code>.
|
||||||
</p></div><div class="sect3" title="No cout in ostream.h, no cin in istream.h"><div class="titlepage"><div><div><h4 class="title"><a id="id591813"></a>No <code class="code">cout</code> in <code class="code">ostream.h</code>, no <code class="code">cin</code> in <code class="code">istream.h</code></h4></div></div></div><p>
|
</p></div><div class="sect3" title="No cout in ostream.h, no cin in istream.h"><div class="titlepage"><div><div><h4 class="title"><a id="id675750"></a>No <code class="code">cout</code> in <code class="code">ostream.h</code>, no <code class="code">cin</code> in <code class="code">istream.h</code></h4></div></div></div><p>
|
||||||
In earlier versions of the standard,
|
In earlier versions of the standard,
|
||||||
<code class="filename">fstream.h</code>,
|
<code class="filename">fstream.h</code>,
|
||||||
<code class="filename">ostream.h</code>
|
<code class="filename">ostream.h</code>
|
||||||
@ -44,7 +44,7 @@ considered replaced and rewritten.
|
|||||||
archived. The code is considered replaced and rewritten.
|
archived. The code is considered replaced and rewritten.
|
||||||
</p><p>
|
</p><p>
|
||||||
Portability notes and known implementation limitations are as follows.
|
Portability notes and known implementation limitations are as follows.
|
||||||
</p><div class="sect3" title="Namespace std:: not supported"><div class="titlepage"><div><div><h4 class="title"><a id="id659770"></a>Namespace <code class="code">std::</code> not supported</h4></div></div></div><p>
|
</p><div class="sect3" title="Namespace std:: not supported"><div class="titlepage"><div><div><h4 class="title"><a id="id675848"></a>Namespace <code class="code">std::</code> not supported</h4></div></div></div><p>
|
||||||
Some care is required to support C++ compiler and or library
|
Some care is required to support C++ compiler and or library
|
||||||
implementation that do not have the standard library in
|
implementation that do not have the standard library in
|
||||||
<code class="code">namespace std</code>.
|
<code class="code">namespace std</code>.
|
||||||
@ -108,7 +108,7 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
|
|||||||
AC_DEFINE(HAVE_NAMESPACE_STD,,[Define if g++ supports namespace std. ])
|
AC_DEFINE(HAVE_NAMESPACE_STD,,[Define if g++ supports namespace std. ])
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
</pre></div><div class="sect3" title="Illegal iterator usage"><div class="titlepage"><div><div><h4 class="title"><a id="id659892"></a>Illegal iterator usage</h4></div></div></div><p>
|
</pre></div><div class="sect3" title="Illegal iterator usage"><div class="titlepage"><div><div><h4 class="title"><a id="id675971"></a>Illegal iterator usage</h4></div></div></div><p>
|
||||||
The following illustrate implementation-allowed illegal iterator
|
The following illustrate implementation-allowed illegal iterator
|
||||||
use, and then correct use.
|
use, and then correct use.
|
||||||
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
||||||
@ -121,7 +121,7 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
|
|||||||
</p></li><li class="listitem"><p>
|
</p></li><li class="listitem"><p>
|
||||||
<code class="code">if (iterator)</code> won't work any more => use
|
<code class="code">if (iterator)</code> won't work any more => use
|
||||||
<code class="code">if (iterator != iterator_type())</code>
|
<code class="code">if (iterator != iterator_type())</code>
|
||||||
</p></li></ul></div></div><div class="sect3" title="isspace from cctype is a macro"><div class="titlepage"><div><div><h4 class="title"><a id="id659954"></a><code class="code">isspace</code> from <code class="filename">cctype</code> is a macro
|
</p></li></ul></div></div><div class="sect3" title="isspace from cctype is a macro"><div class="titlepage"><div><div><h4 class="title"><a id="id567639"></a><code class="code">isspace</code> from <code class="filename">cctype</code> is a macro
|
||||||
</h4></div></div></div><p>
|
</h4></div></div></div><p>
|
||||||
Glibc 2.0.x and 2.1.x define <code class="filename">ctype.h</code> functionality as macros
|
Glibc 2.0.x and 2.1.x define <code class="filename">ctype.h</code> functionality as macros
|
||||||
(isspace, isalpha etc.).
|
(isspace, isalpha etc.).
|
||||||
@ -154,7 +154,7 @@ std:: (__ctype_b[(int) ( ( 'X' ) )] & (unsigned short int) _ISspace ) ;
|
|||||||
(<code class="filename">ctype.h</code>) and the
|
(<code class="filename">ctype.h</code>) and the
|
||||||
definitions in namespace <code class="code">std::</code>
|
definitions in namespace <code class="code">std::</code>
|
||||||
(<code class="code"><cctype></code>).
|
(<code class="code"><cctype></code>).
|
||||||
</p></div><div class="sect3" title="No vector::at, deque::at, string::at"><div class="titlepage"><div><div><h4 class="title"><a id="id660047"></a>No <code class="code">vector::at</code>, <code class="code">deque::at</code>, <code class="code">string::at</code></h4></div></div></div><p>
|
</p></div><div class="sect3" title="No vector::at, deque::at, string::at"><div class="titlepage"><div><div><h4 class="title"><a id="id567732"></a>No <code class="code">vector::at</code>, <code class="code">deque::at</code>, <code class="code">string::at</code></h4></div></div></div><p>
|
||||||
One solution is to add an autoconf-test for this:
|
One solution is to add an autoconf-test for this:
|
||||||
</p><pre class="programlisting">
|
</p><pre class="programlisting">
|
||||||
AC_MSG_CHECKING(for container::at)
|
AC_MSG_CHECKING(for container::at)
|
||||||
@ -180,7 +180,7 @@ AC_DEFINE(HAVE_CONTAINER_AT)],
|
|||||||
</pre><p>
|
</pre><p>
|
||||||
If you are using other (non-GNU) compilers it might be a good idea
|
If you are using other (non-GNU) compilers it might be a good idea
|
||||||
to check for <code class="code">string::at</code> separately.
|
to check for <code class="code">string::at</code> separately.
|
||||||
</p></div><div class="sect3" title="No std::char_traits<char>::eof"><div class="titlepage"><div><div><h4 class="title"><a id="id660085"></a>No <code class="code">std::char_traits<char>::eof</code></h4></div></div></div><p>
|
</p></div><div class="sect3" title="No std::char_traits<char>::eof"><div class="titlepage"><div><div><h4 class="title"><a id="id567770"></a>No <code class="code">std::char_traits<char>::eof</code></h4></div></div></div><p>
|
||||||
Use some kind of autoconf test, plus this:
|
Use some kind of autoconf test, plus this:
|
||||||
</p><pre class="programlisting">
|
</p><pre class="programlisting">
|
||||||
#ifdef HAVE_CHAR_TRAITS
|
#ifdef HAVE_CHAR_TRAITS
|
||||||
@ -188,7 +188,7 @@ AC_DEFINE(HAVE_CONTAINER_AT)],
|
|||||||
#else
|
#else
|
||||||
#define CPP_EOF EOF
|
#define CPP_EOF EOF
|
||||||
#endif
|
#endif
|
||||||
</pre></div><div class="sect3" title="No string::clear"><div class="titlepage"><div><div><h4 class="title"><a id="id660103"></a>No <code class="code">string::clear</code></h4></div></div></div><p>
|
</pre></div><div class="sect3" title="No string::clear"><div class="titlepage"><div><div><h4 class="title"><a id="id567788"></a>No <code class="code">string::clear</code></h4></div></div></div><p>
|
||||||
There are two functions for deleting the contents of a string:
|
There are two functions for deleting the contents of a string:
|
||||||
<code class="code">clear</code> and <code class="code">erase</code> (the latter returns the
|
<code class="code">clear</code> and <code class="code">erase</code> (the latter returns the
|
||||||
string).
|
string).
|
||||||
@ -206,12 +206,12 @@ erase(size_type __pos = 0, size_type __n = npos)
|
|||||||
Unfortunately, <code class="code">clear</code> is not implemented in this
|
Unfortunately, <code class="code">clear</code> is not implemented in this
|
||||||
version, so you should use <code class="code">erase</code> (which is probably
|
version, so you should use <code class="code">erase</code> (which is probably
|
||||||
faster than <code class="code">operator=(charT*)</code>).
|
faster than <code class="code">operator=(charT*)</code>).
|
||||||
</p></div><div class="sect3" title="Removal of ostream::form and istream::scan extensions"><div class="titlepage"><div><div><h4 class="title"><a id="id660148"></a>
|
</p></div><div class="sect3" title="Removal of ostream::form and istream::scan extensions"><div class="titlepage"><div><div><h4 class="title"><a id="id567834"></a>
|
||||||
Removal of <code class="code">ostream::form</code> and <code class="code">istream::scan</code>
|
Removal of <code class="code">ostream::form</code> and <code class="code">istream::scan</code>
|
||||||
extensions
|
extensions
|
||||||
</h4></div></div></div><p>
|
</h4></div></div></div><p>
|
||||||
These are no longer supported. Please use stringstreams instead.
|
These are no longer supported. Please use stringstreams instead.
|
||||||
</p></div><div class="sect3" title="No basic_stringbuf, basic_stringstream"><div class="titlepage"><div><div><h4 class="title"><a id="id590365"></a>No <code class="code">basic_stringbuf</code>, <code class="code">basic_stringstream</code></h4></div></div></div><p>
|
</p></div><div class="sect3" title="No basic_stringbuf, basic_stringstream"><div class="titlepage"><div><div><h4 class="title"><a id="id567853"></a>No <code class="code">basic_stringbuf</code>, <code class="code">basic_stringstream</code></h4></div></div></div><p>
|
||||||
Although the ISO standard <code class="code">i/ostringstream</code>-classes are
|
Although the ISO standard <code class="code">i/ostringstream</code>-classes are
|
||||||
provided, (<code class="filename">sstream</code>), for
|
provided, (<code class="filename">sstream</code>), for
|
||||||
compatibility with older implementations the pre-ISO
|
compatibility with older implementations the pre-ISO
|
||||||
@ -299,14 +299,14 @@ any = temp;
|
|||||||
Another example of using stringstreams is in <a class="link" href="strings.html#strings.string.shrink" title="Shrink to Fit">this howto</a>.
|
Another example of using stringstreams is in <a class="link" href="strings.html#strings.string.shrink" title="Shrink to Fit">this howto</a>.
|
||||||
</p><p> There is additional information in the libstdc++-v2 info files, in
|
</p><p> There is additional information in the libstdc++-v2 info files, in
|
||||||
particular <span class="quote">“<span class="quote">info iostream</span>”</span>.
|
particular <span class="quote">“<span class="quote">info iostream</span>”</span>.
|
||||||
</p></div><div class="sect3" title="Little or no wide character support"><div class="titlepage"><div><div><h4 class="title"><a id="id590515"></a>Little or no wide character support</h4></div></div></div><p>
|
</p></div><div class="sect3" title="Little or no wide character support"><div class="titlepage"><div><div><h4 class="title"><a id="id568004"></a>Little or no wide character support</h4></div></div></div><p>
|
||||||
Classes <code class="classname">wstring</code> and
|
Classes <code class="classname">wstring</code> and
|
||||||
<code class="classname">char_traits<wchar_t></code> are
|
<code class="classname">char_traits<wchar_t></code> are
|
||||||
not supported.
|
not supported.
|
||||||
</p></div><div class="sect3" title="No templatized iostreams"><div class="titlepage"><div><div><h4 class="title"><a id="id590534"></a>No templatized iostreams</h4></div></div></div><p>
|
</p></div><div class="sect3" title="No templatized iostreams"><div class="titlepage"><div><div><h4 class="title"><a id="id568023"></a>No templatized iostreams</h4></div></div></div><p>
|
||||||
Classes <code class="classname">wfilebuf</code> and
|
Classes <code class="classname">wfilebuf</code> and
|
||||||
<code class="classname">wstringstream</code> are not supported.
|
<code class="classname">wstringstream</code> are not supported.
|
||||||
</p></div><div class="sect3" title="Thread safety issues"><div class="titlepage"><div><div><h4 class="title"><a id="id590553"></a>Thread safety issues</h4></div></div></div><p>
|
</p></div><div class="sect3" title="Thread safety issues"><div class="titlepage"><div><div><h4 class="title"><a id="id568042"></a>Thread safety issues</h4></div></div></div><p>
|
||||||
Earlier GCC releases had a somewhat different approach to
|
Earlier GCC releases had a somewhat different approach to
|
||||||
threading configuration and proper compilation. Before GCC 3.0,
|
threading configuration and proper compilation. Before GCC 3.0,
|
||||||
configuration of the threading model was dictated by compiler
|
configuration of the threading model was dictated by compiler
|
||||||
@ -364,7 +364,7 @@ libstdc++-v3.
|
|||||||
of the SGI STL (version 3.3), with extensive changes.
|
of the SGI STL (version 3.3), with extensive changes.
|
||||||
</p><p>A more formal description of the V3 goals can be found in the
|
</p><p>A more formal description of the V3 goals can be found in the
|
||||||
official <a class="link" href="source_design_notes.html" title="Design Notes">design document</a>.
|
official <a class="link" href="source_design_notes.html" title="Design Notes">design document</a>.
|
||||||
</p><p>Portability notes and known implementation limitations are as follows.</p><div class="sect3" title="Pre-ISO headers moved to backwards or removed"><div class="titlepage"><div><div><h4 class="title"><a id="id590669"></a>Pre-ISO headers moved to backwards or removed</h4></div></div></div><p> The pre-ISO C++ headers
|
</p><p>Portability notes and known implementation limitations are as follows.</p><div class="sect3" title="Pre-ISO headers moved to backwards or removed"><div class="titlepage"><div><div><h4 class="title"><a id="id670583"></a>Pre-ISO headers moved to backwards or removed</h4></div></div></div><p> The pre-ISO C++ headers
|
||||||
(<code class="code">iostream.h</code>, <code class="code">defalloc.h</code> etc.) are
|
(<code class="code">iostream.h</code>, <code class="code">defalloc.h</code> etc.) are
|
||||||
available, unlike previous libstdc++ versions, but inclusion
|
available, unlike previous libstdc++ versions, but inclusion
|
||||||
generates a warning that you are using deprecated headers.
|
generates a warning that you are using deprecated headers.
|
||||||
@ -436,7 +436,7 @@ like <code class="filename">vector.h</code> can be replaced with <code class="fi
|
|||||||
directive <code class="code">using namespace std;</code> can be put at the global
|
directive <code class="code">using namespace std;</code> can be put at the global
|
||||||
scope. This should be enough to get this code compiling, assuming the
|
scope. This should be enough to get this code compiling, assuming the
|
||||||
other usage is correct.
|
other usage is correct.
|
||||||
</p></div><div class="sect3" title="Extension headers hash_map, hash_set moved to ext or backwards"><div class="titlepage"><div><div><h4 class="title"><a id="id590752"></a>Extension headers hash_map, hash_set moved to ext or backwards</h4></div></div></div><p>At this time most of the features of the SGI STL extension have been
|
</p></div><div class="sect3" title="Extension headers hash_map, hash_set moved to ext or backwards"><div class="titlepage"><div><div><h4 class="title"><a id="id670665"></a>Extension headers hash_map, hash_set moved to ext or backwards</h4></div></div></div><p>At this time most of the features of the SGI STL extension have been
|
||||||
replaced by standardized libraries.
|
replaced by standardized libraries.
|
||||||
In particular, the unordered_map and unordered_set containers of TR1
|
In particular, the unordered_map and unordered_set containers of TR1
|
||||||
are suitable replacement for the non-standard hash_map and hash_set
|
are suitable replacement for the non-standard hash_map and hash_set
|
||||||
@ -508,7 +508,7 @@ AC_DEFUN([AC_HEADER_EXT_HASH_SET], [
|
|||||||
AC_DEFINE(HAVE_EXT_HASH_SET,,[Define if ext/hash_set is present. ])
|
AC_DEFINE(HAVE_EXT_HASH_SET,,[Define if ext/hash_set is present. ])
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
</pre></div><div class="sect3" title="No ios::nocreate/ios::noreplace."><div class="titlepage"><div><div><h4 class="title"><a id="id532406"></a>No <code class="code">ios::nocreate/ios::noreplace</code>.
|
</pre></div><div class="sect3" title="No ios::nocreate/ios::noreplace."><div class="titlepage"><div><div><h4 class="title"><a id="id670767"></a>No <code class="code">ios::nocreate/ios::noreplace</code>.
|
||||||
</h4></div></div></div><p> The existence of <code class="code">ios::nocreate</code> being used for
|
</h4></div></div></div><p> The existence of <code class="code">ios::nocreate</code> being used for
|
||||||
input-streams has been confirmed, most probably because the author
|
input-streams has been confirmed, most probably because the author
|
||||||
thought it would be more correct to specify nocreate explicitly. So
|
thought it would be more correct to specify nocreate explicitly. So
|
||||||
@ -519,7 +519,7 @@ open the file for reading, check if it has been opened, and then
|
|||||||
decide whether you want to create/replace or not. To my knowledge,
|
decide whether you want to create/replace or not. To my knowledge,
|
||||||
even older implementations support <code class="code">app</code>, <code class="code">ate</code>
|
even older implementations support <code class="code">app</code>, <code class="code">ate</code>
|
||||||
and <code class="code">trunc</code> (except for <code class="code">app</code> ?).
|
and <code class="code">trunc</code> (except for <code class="code">app</code> ?).
|
||||||
</p></div><div class="sect3" title="No stream::attach(int fd)"><div class="titlepage"><div><div><h4 class="title"><a id="id532453"></a>
|
</p></div><div class="sect3" title="No stream::attach(int fd)"><div class="titlepage"><div><div><h4 class="title"><a id="id670814"></a>
|
||||||
No <code class="code">stream::attach(int fd)</code>
|
No <code class="code">stream::attach(int fd)</code>
|
||||||
</h4></div></div></div><p>
|
</h4></div></div></div><p>
|
||||||
Phil Edwards writes: It was considered and rejected for the ISO
|
Phil Edwards writes: It was considered and rejected for the ISO
|
||||||
@ -542,7 +542,7 @@ No <code class="code">stream::attach(int fd)</code>
|
|||||||
For another example of this, refer to
|
For another example of this, refer to
|
||||||
<a class="ulink" href="http://www.josuttis.com/cppcode/fdstream.html" target="_top">fdstream example</a>
|
<a class="ulink" href="http://www.josuttis.com/cppcode/fdstream.html" target="_top">fdstream example</a>
|
||||||
by Nicolai Josuttis.
|
by Nicolai Josuttis.
|
||||||
</p></div><div class="sect3" title="Support for C++98 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id532517"></a>
|
</p></div><div class="sect3" title="Support for C++98 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id670878"></a>
|
||||||
Support for C++98 dialect.
|
Support for C++98 dialect.
|
||||||
</h4></div></div></div><p>Check for complete library coverage of the C++1998/2003 standard.
|
</h4></div></div></div><p>Check for complete library coverage of the C++1998/2003 standard.
|
||||||
</p><pre class="programlisting">
|
</p><pre class="programlisting">
|
||||||
@ -610,7 +610,7 @@ AC_DEFUN([AC_HEADER_STDCXX_98], [
|
|||||||
AC_DEFINE(STDCXX_98_HEADERS,,[Define if ISO C++ 1998 header files are present. ])
|
AC_DEFINE(STDCXX_98_HEADERS,,[Define if ISO C++ 1998 header files are present. ])
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
</pre></div><div class="sect3" title="Support for C++TR1 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id532545"></a>
|
</pre></div><div class="sect3" title="Support for C++TR1 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id670906"></a>
|
||||||
Support for C++TR1 dialect.
|
Support for C++TR1 dialect.
|
||||||
</h4></div></div></div><p>Check for library coverage of the TR1 standard.
|
</h4></div></div></div><p>Check for library coverage of the TR1 standard.
|
||||||
</p><pre class="programlisting">
|
</p><pre class="programlisting">
|
||||||
@ -687,7 +687,7 @@ AC_DEFUN([AC_HEADER_TR1_UNORDERED_SET], [
|
|||||||
AC_DEFINE(HAVE_TR1_UNORDERED_SET,,[Define if tr1/unordered_set is present. ])
|
AC_DEFINE(HAVE_TR1_UNORDERED_SET,,[Define if tr1/unordered_set is present. ])
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
</pre></div><div class="sect3" title="Support for C++0x dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id532588"></a>
|
</pre></div><div class="sect3" title="Support for C++0x dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id670950"></a>
|
||||||
Support for C++0x dialect.
|
Support for C++0x dialect.
|
||||||
</h4></div></div></div><p>Check for baseline language coverage in the compiler for the C++0xstandard.
|
</h4></div></div></div><p>Check for baseline language coverage in the compiler for the C++0xstandard.
|
||||||
</p><pre class="programlisting">
|
</p><pre class="programlisting">
|
||||||
@ -899,25 +899,25 @@ AC_DEFUN([AC_HEADER_UNORDERED_SET], [
|
|||||||
AC_DEFINE(HAVE_UNORDERED_SET,,[Define if unordered_set is present. ])
|
AC_DEFINE(HAVE_UNORDERED_SET,,[Define if unordered_set is present. ])
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
</pre></div><div class="sect3" title="Container::iterator_type is not necessarily Container::value_type*"><div class="titlepage"><div><div><h4 class="title"><a id="id532666"></a>
|
</pre></div><div class="sect3" title="Container::iterator_type is not necessarily Container::value_type*"><div class="titlepage"><div><div><h4 class="title"><a id="id617226"></a>
|
||||||
Container::iterator_type is not necessarily Container::value_type*
|
Container::iterator_type is not necessarily Container::value_type*
|
||||||
</h4></div></div></div><p>
|
</h4></div></div></div><p>
|
||||||
This is a change in behavior from the previous version. Now, most
|
This is a change in behavior from the previous version. Now, most
|
||||||
<span class="type">iterator_type</span> typedefs in container classes are POD
|
<span class="type">iterator_type</span> typedefs in container classes are POD
|
||||||
objects, not <span class="type">value_type</span> pointers.
|
objects, not <span class="type">value_type</span> pointers.
|
||||||
</p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id532695"></a><p><span class="biblioid">
|
</p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id617255"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.kegel.com/gcc/gcc4.html" target="_top">
|
<a class="ulink" href="http://www.kegel.com/gcc/gcc4.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Migrating to GCC 4.1
|
Migrating to GCC 4.1
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">Dan</span> <span class="surname">Kegel</span>. </span></p></div><div class="biblioentry"><a id="id532726"></a><p><span class="biblioid">
|
. </span><span class="author"><span class="firstname">Dan</span> <span class="surname">Kegel</span>. </span></p></div><div class="biblioentry"><a id="id617286"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://lists.debian.org/debian-gcc/2006/03/msg00405.html" target="_top">
|
<a class="ulink" href="http://lists.debian.org/debian-gcc/2006/03/msg00405.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Building the Whole Debian Archive with GCC 4.1: A Summary
|
Building the Whole Debian Archive with GCC 4.1: A Summary
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">Martin</span> <span class="surname">Michlmayr</span>. </span></p></div><div class="biblioentry"><a id="id536896"></a><p><span class="biblioid">
|
. </span><span class="author"><span class="firstname">Martin</span> <span class="surname">Michlmayr</span>. </span></p></div><div class="biblioentry"><a id="id617317"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://annwm.lbl.gov/~leggett/Atlas/gcc-3.2.html" target="_top">
|
<a class="ulink" href="http://annwm.lbl.gov/~leggett/Atlas/gcc-3.2.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Migration guide for GCC-3.2
|
Migration guide for GCC-3.2
|
||||||
|
@ -103,7 +103,7 @@ else return false.</p></li></ol></div><p>
|
|||||||
</p><p>
|
</p><p>
|
||||||
Consider a block of size 64 ints. In memory, it would look like this:
|
Consider a block of size 64 ints. In memory, it would look like this:
|
||||||
(assume a 32-bit system where, size_t is a 32-bit entity).
|
(assume a 32-bit system where, size_t is a 32-bit entity).
|
||||||
</p><div class="table"><a id="id661907"></a><p class="title"><b>Table 20.1. Bitmap Allocator Memory Map</b></p><div class="table-contents"><table summary="Bitmap Allocator Memory Map" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left">268</td><td align="left">0</td><td align="left">4294967295</td><td align="left">4294967295</td><td align="left">Data -> Space for 64 ints</td></tr></tbody></table></div></div><br class="table-break" /><p>
|
</p><div class="table"><a id="id690199"></a><p class="title"><b>Table 20.1. Bitmap Allocator Memory Map</b></p><div class="table-contents"><table summary="Bitmap Allocator Memory Map" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left">268</td><td align="left">0</td><td align="left">4294967295</td><td align="left">4294967295</td><td align="left">Data -> Space for 64 ints</td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||||
The first Column(268) represents the size of the Block in bytes as
|
The first Column(268) represents the size of the Block in bytes as
|
||||||
seen by the Bitmap Allocator. Internally, a global free list is
|
seen by the Bitmap Allocator. Internally, a global free list is
|
||||||
used to keep track of the free blocks used and given back by the
|
used to keep track of the free blocks used and given back by the
|
||||||
|
@ -19,6 +19,6 @@
|
|||||||
mode or with debug mode. The
|
mode or with debug mode. The
|
||||||
following table provides the names and headers of the debugging
|
following table provides the names and headers of the debugging
|
||||||
containers:
|
containers:
|
||||||
</p><div class="table"><a id="id533025"></a><p class="title"><b>Table 17.1. Debugging Containers</b></p><div class="table-contents"><table summary="Debugging Containers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::bitset</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="classname">__gnu_debug::bitset</code></td><td align="left"><code class="filename"><debug/bitset></code></td></tr><tr><td align="left"><code class="classname">std::deque</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="classname">__gnu_debug::deque</code></td><td align="left"><code class="filename"><debug/deque></code></td></tr><tr><td align="left"><code class="classname">std::list</code></td><td align="left"><code class="filename">list</code></td><td align="left"><code class="classname">__gnu_debug::list</code></td><td align="left"><code class="filename"><debug/list></code></td></tr><tr><td align="left"><code class="classname">std::map</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::map</code></td><td align="left"><code class="filename"><debug/map></code></td></tr><tr><td align="left"><code class="classname">std::multimap</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::multimap</code></td><td align="left"><code class="filename"><debug/map></code></td></tr><tr><td align="left"><code class="classname">std::multiset</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::multiset</code></td><td align="left"><code class="filename"><debug/set></code></td></tr><tr><td align="left"><code class="classname">std::set</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::set</code></td><td align="left"><code class="filename"><debug/set></code></td></tr><tr><td align="left"><code class="classname">std::string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::string</code></td><td align="left"><code class="filename"><debug/string></code></td></tr><tr><td align="left"><code class="classname">std::wstring</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::wstring</code></td><td align="left"><code class="filename"><debug/string></code></td></tr><tr><td align="left"><code class="classname">std::basic_string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::basic_string</code></td><td align="left"><code class="filename"><debug/string></code></td></tr><tr><td align="left"><code class="classname">std::vector</code></td><td align="left"><code class="filename">vector</code></td><td align="left"><code class="classname">__gnu_debug::vector</code></td><td align="left"><code class="filename"><debug/vector></code></td></tr></tbody></table></div></div><br class="table-break" /><p>In addition, when compiling in C++0x mode, these additional
|
</p><div class="table"><a id="id693432"></a><p class="title"><b>Table 17.1. Debugging Containers</b></p><div class="table-contents"><table summary="Debugging Containers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::bitset</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="classname">__gnu_debug::bitset</code></td><td align="left"><code class="filename"><debug/bitset></code></td></tr><tr><td align="left"><code class="classname">std::deque</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="classname">__gnu_debug::deque</code></td><td align="left"><code class="filename"><debug/deque></code></td></tr><tr><td align="left"><code class="classname">std::list</code></td><td align="left"><code class="filename">list</code></td><td align="left"><code class="classname">__gnu_debug::list</code></td><td align="left"><code class="filename"><debug/list></code></td></tr><tr><td align="left"><code class="classname">std::map</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::map</code></td><td align="left"><code class="filename"><debug/map></code></td></tr><tr><td align="left"><code class="classname">std::multimap</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::multimap</code></td><td align="left"><code class="filename"><debug/map></code></td></tr><tr><td align="left"><code class="classname">std::multiset</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::multiset</code></td><td align="left"><code class="filename"><debug/set></code></td></tr><tr><td align="left"><code class="classname">std::set</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::set</code></td><td align="left"><code class="filename"><debug/set></code></td></tr><tr><td align="left"><code class="classname">std::string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::string</code></td><td align="left"><code class="filename"><debug/string></code></td></tr><tr><td align="left"><code class="classname">std::wstring</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::wstring</code></td><td align="left"><code class="filename"><debug/string></code></td></tr><tr><td align="left"><code class="classname">std::basic_string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::basic_string</code></td><td align="left"><code class="filename"><debug/string></code></td></tr><tr><td align="left"><code class="classname">std::vector</code></td><td align="left"><code class="filename">vector</code></td><td align="left"><code class="classname">__gnu_debug::vector</code></td><td align="left"><code class="filename"><debug/vector></code></td></tr></tbody></table></div></div><br class="table-break" /><p>In addition, when compiling in C++0x mode, these additional
|
||||||
containers have additional debug capability.
|
containers have additional debug capability.
|
||||||
</p><div class="table"><a id="id661132"></a><p class="title"><b>Table 17.2. Debugging Containers C++0x</b></p><div class="table-contents"><table summary="Debugging Containers C++0x" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::unordered_map</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_map</code></td><td align="left"><code class="filename"><debug/unordered_map></code></td></tr><tr><td align="left"><code class="classname">std::unordered_multimap</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multimap</code></td><td align="left"><code class="filename"><debug/unordered_map></code></td></tr><tr><td align="left"><code class="classname">std::unordered_set</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_set</code></td><td align="left"><code class="filename"><debug/unordered_set></code></td></tr><tr><td align="left"><code class="classname">std::unordered_multiset</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multiset</code></td><td align="left"><code class="filename"><debug/unordered_set></code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch17s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch17s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
|
</p><div class="table"><a id="id579743"></a><p class="title"><b>Table 17.2. Debugging Containers C++0x</b></p><div class="table-contents"><table summary="Debugging Containers C++0x" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::unordered_map</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_map</code></td><td align="left"><code class="filename"><debug/unordered_map></code></td></tr><tr><td align="left"><code class="classname">std::unordered_multimap</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multimap</code></td><td align="left"><code class="filename"><debug/unordered_map></code></td></tr><tr><td align="left"><code class="classname">std::unordered_set</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_set</code></td><td align="left"><code class="filename"><debug/unordered_set></code></td></tr><tr><td align="left"><code class="classname">std::unordered_multiset</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multiset</code></td><td align="left"><code class="filename"><debug/unordered_set></code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch17s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch17s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content=" C++ , library , profile " /><meta name="keywords" content=" ISO C++ , library " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="next" href="bk01pt03ch19s03.html" title="Extensions for Custom Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.design"></a>Design</h2></div></div></div><p>
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content=" C++ , library , profile " /><meta name="keywords" content=" ISO C++ , library " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="next" href="bk01pt03ch19s03.html" title="Extensions for Custom Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.design"></a>Design</h2></div></div></div><p>
|
||||||
</p><div class="table"><a id="id556845"></a><p class="title"><b>Table 19.1. Profile Code Location</b></p><div class="table-contents"><table summary="Profile Code Location" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Code Location</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left"><code class="code">libstdc++-v3/include/std/*</code></td><td align="left">Preprocessor code to redirect to profile extension headers.</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/*</code></td><td align="left">Profile extension public headers (map, vector, ...).</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/impl/*</code></td><td align="left">Profile extension internals. Implementation files are
|
</p><div class="table"><a id="id567567"></a><p class="title"><b>Table 19.1. Profile Code Location</b></p><div class="table-contents"><table summary="Profile Code Location" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Code Location</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left"><code class="code">libstdc++-v3/include/std/*</code></td><td align="left">Preprocessor code to redirect to profile extension headers.</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/*</code></td><td align="left">Profile extension public headers (map, vector, ...).</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/impl/*</code></td><td align="left">Profile extension internals. Implementation files are
|
||||||
only included from <code class="code">impl/profiler.h</code>, which is the only
|
only included from <code class="code">impl/profiler.h</code>, which is the only
|
||||||
file included from the public headers.</td></tr></tbody></table></div></div><br class="table-break" /><p>
|
file included from the public headers.</td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||||
</p><div class="sect2" title="Wrapper Model"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.wrapper"></a>Wrapper Model</h3></div></div></div><p>
|
</p><div class="sect2" title="Wrapper Model"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.wrapper"></a>Wrapper Model</h3></div></div></div><p>
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
A high accuracy means that the diagnostic is unlikely to be wrong.
|
A high accuracy means that the diagnostic is unlikely to be wrong.
|
||||||
These grades are not perfect. They are just meant to guide users with
|
These grades are not perfect. They are just meant to guide users with
|
||||||
specific needs or time budgets.
|
specific needs or time budgets.
|
||||||
</p><div class="table"><a id="id501260"></a><p class="title"><b>Table 19.2. Profile Diagnostics</b></p><div class="table-contents"><table summary="Profile Diagnostics" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Group</th><th align="left">Flag</th><th align="left">Benefit</th><th align="left">Cost</th><th align="left">Freq.</th><th align="left">Implemented</th><td class="auto-generated"> </td></tr></thead><tbody><tr><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.containers" target="_top">
|
</p><div class="table"><a id="id677844"></a><p class="title"><b>Table 19.2. Profile Diagnostics</b></p><div class="table-contents"><table summary="Profile Diagnostics" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Group</th><th align="left">Flag</th><th align="left">Benefit</th><th align="left">Cost</th><th align="left">Freq.</th><th align="left">Implemented</th><td class="auto-generated"> </td></tr></thead><tbody><tr><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.containers" target="_top">
|
||||||
CONTAINERS</a></td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.hashtable_too_small" target="_top">
|
CONTAINERS</a></td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.hashtable_too_small" target="_top">
|
||||||
HASHTABLE_TOO_SMALL</a></td><td align="left">10</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.hashtable_too_large" target="_top">
|
HASHTABLE_TOO_SMALL</a></td><td align="left">10</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.hashtable_too_large" target="_top">
|
||||||
HASHTABLE_TOO_LARGE</a></td><td align="left">5</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.inefficient_hash" target="_top">
|
HASHTABLE_TOO_LARGE</a></td><td align="left">5</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.inefficient_hash" target="_top">
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content=" ISO C++ , library " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part III. Extensions" /><link rel="prev" href="extensions.html" title="Part III. Extensions" /><link rel="next" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" align="center">Part III.
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content=" ISO C++ , library " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part III. Extensions" /><link rel="prev" href="extensions.html" title="Part III. Extensions" /><link rel="next" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" align="center">Part III.
|
||||||
Extensions
|
Extensions
|
||||||
|
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr /></div><div class="preface"><div class="titlepage"><div><div><h2 class="title"><a id="id644091"></a></h2></div></div></div><p>
|
</th><td width="20%" align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr /></div><div class="preface"><div class="titlepage"><div><div><h2 class="title"><a id="id589691"></a></h2></div></div></div><p>
|
||||||
Here we will make an attempt at describing the non-Standard extensions to
|
Here we will make an attempt at describing the non-Standard extensions to
|
||||||
the library. Some of these are from SGI's STL, some of these are GNU's,
|
the library. Some of these are from SGI's STL, some of these are GNU's,
|
||||||
and some just seemed to appear on the doorstep.
|
and some just seemed to appear on the doorstep.
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
Standard Contents
|
Standard Contents
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 15. Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="std.concurrency"></a>Chapter 15.
|
</th><td width="20%" align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 15. Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="std.concurrency"></a>Chapter 15.
|
||||||
Concurrency
|
Concurrency
|
||||||
<a id="id622379" class="indexterm"></a>
|
<a id="id618797" class="indexterm"></a>
|
||||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></div><p>
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></div><p>
|
||||||
Facilities for concurrent operation, and control thereof.
|
Facilities for concurrent operation, and control thereof.
|
||||||
</p><div class="sect1" title="API Reference"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.concurrency.api"></a>API Reference</h2></div></div></div><p>
|
</p><div class="sect1" title="API Reference"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.concurrency.api"></a>API Reference</h2></div></div></div><p>
|
||||||
|
@ -159,8 +159,8 @@
|
|||||||
</p></dd><dt><span class="term"><code class="code">--enable-symvers[=style]</code></span></dt><dd><p>In 3.1 and later, tries to turn on symbol versioning in the
|
</p></dd><dt><span class="term"><code class="code">--enable-symvers[=style]</code></span></dt><dd><p>In 3.1 and later, tries to turn on symbol versioning in the
|
||||||
shared library (if a shared library has been
|
shared library (if a shared library has been
|
||||||
requested). Values for 'style' that are currently supported
|
requested). Values for 'style' that are currently supported
|
||||||
are 'gnu', 'gnu-versioned-namespace', 'darwin', and
|
are 'gnu', 'gnu-versioned-namespace', 'darwin',
|
||||||
'darwin-export'. Both gnu- options require that a recent
|
'darwin-export', and 'sun'. Both gnu- options require that a recent
|
||||||
version of the GNU linker be in use. Both darwin options are
|
version of the GNU linker be in use. Both darwin options are
|
||||||
equivalent. With no style given, the configure script will try
|
equivalent. With no style given, the configure script will try
|
||||||
to guess correct defaults for the host system, probe to see if
|
to guess correct defaults for the host system, probe to see if
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
Standard Contents
|
Standard Contents
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 9. Containers"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers"></a>Chapter 9.
|
</th><td width="20%" align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 9. Containers"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers"></a>Chapter 9.
|
||||||
Containers
|
Containers
|
||||||
<a id="id538555" class="indexterm"></a>
|
<a id="id596019" class="indexterm"></a>
|
||||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="sect2"><a href="containers.html#containers.sequences.list">list</a></span></dt><dt><span class="sect2"><a href="containers.html#containers.sequences.vector">vector</a></span></dt></dl></dd><dt><span class="sect1"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="sect2"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="sect2"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt></dl></dd><dt><span class="sect1"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="sect2"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></div><div class="sect1" title="Sequences"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.sequences"></a>Sequences</h2></div></div></div><div class="sect2" title="list"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.list"></a>list</h3></div></div></div><div class="sect3" title="list::size() is O(n)"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.list.size"></a>list::size() is O(n)</h4></div></div></div><p>
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="sect2"><a href="containers.html#containers.sequences.list">list</a></span></dt><dt><span class="sect2"><a href="containers.html#containers.sequences.vector">vector</a></span></dt></dl></dd><dt><span class="sect1"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="sect2"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="sect2"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt></dl></dd><dt><span class="sect1"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="sect2"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></div><div class="sect1" title="Sequences"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.sequences"></a>Sequences</h2></div></div></div><div class="sect2" title="list"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.list"></a>list</h3></div></div></div><div class="sect3" title="list::size() is O(n)"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.list.size"></a>list::size() is O(n)</h4></div></div></div><p>
|
||||||
Yes it is, and that's okay. This is a decision that we preserved
|
Yes it is, and that's okay. This is a decision that we preserved
|
||||||
when we imported SGI's STL implementation. The following is
|
when we imported SGI's STL implementation. The following is
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
Standard Contents
|
Standard Contents
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt02ch05s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 5. Diagnostics"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics"></a>Chapter 5.
|
</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt02ch05s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 5. Diagnostics"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics"></a>Chapter 5.
|
||||||
Diagnostics
|
Diagnostics
|
||||||
<a id="id564773" class="indexterm"></a>
|
<a id="id588524" class="indexterm"></a>
|
||||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="sect2"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></div><div class="sect1" title="Exceptions"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.diagnostics.exceptions"></a>Exceptions</h2></div></div></div><div class="sect2" title="API Reference"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.api"></a>API Reference</h3></div></div></div><p>
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="sect2"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></div><div class="sect1" title="Exceptions"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.diagnostics.exceptions"></a>Exceptions</h2></div></div></div><div class="sect2" title="API Reference"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.api"></a>API Reference</h3></div></div></div><p>
|
||||||
All exception objects are defined in one of the standard header
|
All exception objects are defined in one of the standard header
|
||||||
files: <code class="filename">exception</code>,
|
files: <code class="filename">exception</code>,
|
||||||
|
@ -108,7 +108,7 @@
|
|||||||
writing Doxygen comments. Single and double quotes, and
|
writing Doxygen comments. Single and double quotes, and
|
||||||
separators in filenames are two common trouble spots. When in
|
separators in filenames are two common trouble spots. When in
|
||||||
doubt, consult the following table.
|
doubt, consult the following table.
|
||||||
</p><div class="table"><a id="id640202"></a><p class="title"><b>Table A.1. HTML to Doxygen Markup Comparison</b></p><div class="table-contents"><table summary="HTML to Doxygen Markup Comparison" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Doxygen</th></tr></thead><tbody><tr><td align="left">\</td><td align="left">\\</td></tr><tr><td align="left">"</td><td align="left">\"</td></tr><tr><td align="left">'</td><td align="left">\'</td></tr><tr><td align="left"><i></td><td align="left">@a word</td></tr><tr><td align="left"><b></td><td align="left">@b word</td></tr><tr><td align="left"><code></td><td align="left">@c word</td></tr><tr><td align="left"><em></td><td align="left">@a word</td></tr><tr><td align="left"><em></td><td align="left"><em>two words or more</em></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="sect2" title="Docbook"><div class="titlepage"><div><div><h3 class="title"><a id="doc_style.docbook"></a>Docbook</h3></div></div></div><div class="sect3" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"></a>Prerequisites</h4></div></div></div><p>
|
</p><div class="table"><a id="id673395"></a><p class="title"><b>Table A.1. HTML to Doxygen Markup Comparison</b></p><div class="table-contents"><table summary="HTML to Doxygen Markup Comparison" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Doxygen</th></tr></thead><tbody><tr><td align="left">\</td><td align="left">\\</td></tr><tr><td align="left">"</td><td align="left">\"</td></tr><tr><td align="left">'</td><td align="left">\'</td></tr><tr><td align="left"><i></td><td align="left">@a word</td></tr><tr><td align="left"><b></td><td align="left">@b word</td></tr><tr><td align="left"><code></td><td align="left">@c word</td></tr><tr><td align="left"><em></td><td align="left">@a word</td></tr><tr><td align="left"><em></td><td align="left"><em>two words or more</em></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="sect2" title="Docbook"><div class="titlepage"><div><div><h3 class="title"><a id="doc_style.docbook"></a>Docbook</h3></div></div></div><div class="sect3" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"></a>Prerequisites</h4></div></div></div><p>
|
||||||
Editing the DocBook sources requires an XML editor. Many
|
Editing the DocBook sources requires an XML editor. Many
|
||||||
exist: some notable options
|
exist: some notable options
|
||||||
include <span class="command"><strong>emacs</strong></span>, <span class="application">Kate</span>,
|
include <span class="command"><strong>emacs</strong></span>, <span class="application">Kate</span>,
|
||||||
@ -238,11 +238,11 @@ xmllint --noout --valid <code class="filename">xml/index.xml</code>
|
|||||||
<a class="ulink" href="http://www.docbook.org/tdg/en/html/part2.html" target="_top">online</a>.
|
<a class="ulink" href="http://www.docbook.org/tdg/en/html/part2.html" target="_top">online</a>.
|
||||||
An incomplete reference for HTML to Docbook conversion is
|
An incomplete reference for HTML to Docbook conversion is
|
||||||
detailed in the table below.
|
detailed in the table below.
|
||||||
</p><div class="table"><a id="id542838"></a><p class="title"><b>Table A.2. HTML to Docbook XML Markup Comparison</b></p><div class="table-contents"><table summary="HTML to Docbook XML Markup Comparison" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Docbook</th></tr></thead><tbody><tr><td align="left"><p></td><td align="left"><para></td></tr><tr><td align="left"><pre></td><td align="left"><computeroutput>, <programlisting>,
|
</p><div class="table"><a id="id640737"></a><p class="title"><b>Table A.2. HTML to Docbook XML Markup Comparison</b></p><div class="table-contents"><table summary="HTML to Docbook XML Markup Comparison" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Docbook</th></tr></thead><tbody><tr><td align="left"><p></td><td align="left"><para></td></tr><tr><td align="left"><pre></td><td align="left"><computeroutput>, <programlisting>,
|
||||||
<literallayout></td></tr><tr><td align="left"><ul></td><td align="left"><itemizedlist></td></tr><tr><td align="left"><ol></td><td align="left"><orderedlist></td></tr><tr><td align="left"><il></td><td align="left"><listitem></td></tr><tr><td align="left"><dl></td><td align="left"><variablelist></td></tr><tr><td align="left"><dt></td><td align="left"><term></td></tr><tr><td align="left"><dd></td><td align="left"><listitem></td></tr><tr><td align="left"><a href=""></td><td align="left"><ulink url=""></td></tr><tr><td align="left"><code></td><td align="left"><literal>, <programlisting></td></tr><tr><td align="left"><strong></td><td align="left"><emphasis></td></tr><tr><td align="left"><em></td><td align="left"><emphasis></td></tr><tr><td align="left">"</td><td align="left"><quote></td></tr></tbody></table></div></div><br class="table-break" /><p>
|
<literallayout></td></tr><tr><td align="left"><ul></td><td align="left"><itemizedlist></td></tr><tr><td align="left"><ol></td><td align="left"><orderedlist></td></tr><tr><td align="left"><il></td><td align="left"><listitem></td></tr><tr><td align="left"><dl></td><td align="left"><variablelist></td></tr><tr><td align="left"><dt></td><td align="left"><term></td></tr><tr><td align="left"><dd></td><td align="left"><listitem></td></tr><tr><td align="left"><a href=""></td><td align="left"><ulink url=""></td></tr><tr><td align="left"><code></td><td align="left"><literal>, <programlisting></td></tr><tr><td align="left"><strong></td><td align="left"><emphasis></td></tr><tr><td align="left"><em></td><td align="left"><emphasis></td></tr><tr><td align="left">"</td><td align="left"><quote></td></tr></tbody></table></div></div><br class="table-break" /><p>
|
||||||
And examples of detailed markup for which there are no real HTML
|
And examples of detailed markup for which there are no real HTML
|
||||||
equivalents are listed in the table below.
|
equivalents are listed in the table below.
|
||||||
</p><div class="table"><a id="id535867"></a><p class="title"><b>Table A.3. Docbook XML Element Use</b></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Element</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left"><structname></td><td align="left"><structname>char_traits</structname></td></tr><tr><td align="left"><classname></td><td align="left"><classname>string</classname></td></tr><tr><td align="left"><function></td><td align="left">
|
</p><div class="table"><a id="id686301"></a><p class="title"><b>Table A.3. Docbook XML Element Use</b></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Element</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left"><structname></td><td align="left"><structname>char_traits</structname></td></tr><tr><td align="left"><classname></td><td align="left"><classname>string</classname></td></tr><tr><td align="left"><function></td><td align="left">
|
||||||
<p><function>clear()</function></p>
|
<p><function>clear()</function></p>
|
||||||
<p><function>fs.clear()</function></p>
|
<p><function>fs.clear()</function></p>
|
||||||
</td></tr><tr><td align="left"><type></td><td align="left"><type>long long</type></td></tr><tr><td align="left"><varname></td><td align="left"><varname>fs</varname></td></tr><tr><td align="left"><literal></td><td align="left">
|
</td></tr><tr><td align="left"><type></td><td align="left"><type>long long</type></td></tr><tr><td align="left"><varname></td><td align="left"><varname>fs</varname></td></tr><tr><td align="left"><literal></td><td align="left">
|
||||||
|
File diff suppressed because one or more lines are too long
@ -3,7 +3,7 @@
|
|||||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Facets</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content=" ISO C++ , library " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="localization.html" title="Chapter 8. Localization" /><link rel="prev" href="localization.html" title="Chapter 8. Localization" /><link rel="next" href="containers.html" title="Chapter 9. Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Facets</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="localization.html">Prev</a> </td><th width="60%" align="center">Chapter 8.
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Facets</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content=" ISO C++ , library " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="localization.html" title="Chapter 8. Localization" /><link rel="prev" href="localization.html" title="Chapter 8. Localization" /><link rel="next" href="containers.html" title="Chapter 9. Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Facets</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="localization.html">Prev</a> </td><th width="60%" align="center">Chapter 8.
|
||||||
Localization
|
Localization
|
||||||
|
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr></table><hr /></div><div class="section" title="Facets"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.facet"></a>Facets</h2></div></div></div><div class="section" title="ctype"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.ctype"></a>ctype</h3></div></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.impl"></a>Implementation</h4></div></div></div><div class="section" title="Specializations"><div class="titlepage"><div><div><h5 class="title"><a id="id628428"></a>Specializations</h5></div></div></div><p>
|
</th><td width="20%" align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr></table><hr /></div><div class="section" title="Facets"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.facet"></a>Facets</h2></div></div></div><div class="section" title="ctype"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.ctype"></a>ctype</h3></div></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.impl"></a>Implementation</h4></div></div></div><div class="section" title="Specializations"><div class="titlepage"><div><div><h5 class="title"><a id="id654446"></a>Specializations</h5></div></div></div><p>
|
||||||
For the required specialization codecvt<wchar_t, char, mbstate_t> ,
|
For the required specialization codecvt<wchar_t, char, mbstate_t> ,
|
||||||
conversions are made between the internal character set (always UCS4
|
conversions are made between the internal character set (always UCS4
|
||||||
on GNU/Linux) and whatever the currently selected locale for the
|
on GNU/Linux) and whatever the currently selected locale for the
|
||||||
@ -50,26 +50,26 @@ characters.
|
|||||||
</p></li><li class="listitem"><p>
|
</p></li><li class="listitem"><p>
|
||||||
Rename abstract base class. See if just smash-overriding is a
|
Rename abstract base class. See if just smash-overriding is a
|
||||||
better approach. Clarify, add sanity to naming.
|
better approach. Clarify, add sanity to naming.
|
||||||
</p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id663422"></a><p><span class="title"><i>
|
</p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id663555"></a><p><span class="title"><i>
|
||||||
The GNU C Library
|
The GNU C Library
|
||||||
</i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6 Character Set Handling and 7 Locales and Internationalization. </span></p></div><div class="biblioentry" title="Correspondence"><a id="id557724"></a><p><span class="title"><i>
|
</i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6 Character Set Handling and 7 Locales and Internationalization. </span></p></div><div class="biblioentry" title="Correspondence"><a id="id685344"></a><p><span class="title"><i>
|
||||||
Correspondence
|
Correspondence
|
||||||
</i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id628256"></a><p><span class="title"><i>
|
</i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id638435"></a><p><span class="title"><i>
|
||||||
ISO/IEC 14882:1998 Programming languages - C++
|
ISO/IEC 14882:1998 Programming languages - C++
|
||||||
</i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id628275"></a><p><span class="title"><i>
|
</i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id590610"></a><p><span class="title"><i>
|
||||||
ISO/IEC 9899:1999 Programming languages - C
|
ISO/IEC 9899:1999 Programming languages - C
|
||||||
</i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id651486"></a><p><span class="biblioid">
|
</i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id590628"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.unix.org/version3/ieee_std.html" target="_top">
|
<a class="ulink" href="http://www.unix.org/version3/ieee_std.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
|
The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span><span class="copyright">Copyright © 1999
|
. </span><span class="copyright">Copyright © 1999
|
||||||
The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id546468"></a><p><span class="title"><i>
|
The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id577463"></a><p><span class="title"><i>
|
||||||
The C++ Programming Language, Special Edition
|
The C++ Programming Language, Special Edition
|
||||||
</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
|
</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
|
||||||
Addison Wesley
|
Addison Wesley
|
||||||
. </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id648185"></a><p><span class="title"><i>
|
. </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id598854"></a><p><span class="title"><i>
|
||||||
Standard C++ IOStreams and Locales
|
Standard C++ IOStreams and Locales
|
||||||
</i>. </span><span class="subtitle">
|
</i>. </span><span class="subtitle">
|
||||||
Advanced Programmer's Guide and Reference
|
Advanced Programmer's Guide and Reference
|
||||||
@ -412,17 +412,17 @@ codecvt usage.
|
|||||||
</p></li><li class="listitem"><p>
|
</p></li><li class="listitem"><p>
|
||||||
wchar_t/char internal buffers and conversions between
|
wchar_t/char internal buffers and conversions between
|
||||||
internal/external buffers?
|
internal/external buffers?
|
||||||
</p></li></ul></div></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id651424"></a><p><span class="title"><i>
|
</p></li></ul></div></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id560751"></a><p><span class="title"><i>
|
||||||
The GNU C Library
|
The GNU C Library
|
||||||
</i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">
|
</i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">
|
||||||
Chapters 6 Character Set Handling and 7 Locales and Internationalization
|
Chapters 6 Character Set Handling and 7 Locales and Internationalization
|
||||||
. </span></p></div><div class="biblioentry" title="Correspondence"><a id="id622952"></a><p><span class="title"><i>
|
. </span></p></div><div class="biblioentry" title="Correspondence"><a id="id592962"></a><p><span class="title"><i>
|
||||||
Correspondence
|
Correspondence
|
||||||
</i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id616285"></a><p><span class="title"><i>
|
</i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id654857"></a><p><span class="title"><i>
|
||||||
ISO/IEC 14882:1998 Programming languages - C++
|
ISO/IEC 14882:1998 Programming languages - C++
|
||||||
</i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id616304"></a><p><span class="title"><i>
|
</i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id654876"></a><p><span class="title"><i>
|
||||||
ISO/IEC 9899:1999 Programming languages - C
|
ISO/IEC 9899:1999 Programming languages - C
|
||||||
</i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id616322"></a><p><span class="biblioid">
|
</i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id583025"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.opengroup.org/austin" target="_top">
|
<a class="ulink" href="http://www.opengroup.org/austin" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
|
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
|
||||||
@ -431,29 +431,29 @@ codecvt usage.
|
|||||||
. </span><span class="copyright">Copyright © 2008
|
. </span><span class="copyright">Copyright © 2008
|
||||||
The Open Group/The Institute of Electrical and Electronics
|
The Open Group/The Institute of Electrical and Electronics
|
||||||
Engineers, Inc.
|
Engineers, Inc.
|
||||||
. </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id658821"></a><p><span class="title"><i>
|
. </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id583055"></a><p><span class="title"><i>
|
||||||
The C++ Programming Language, Special Edition
|
The C++ Programming Language, Special Edition
|
||||||
</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
|
</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
|
||||||
Addison Wesley
|
Addison Wesley
|
||||||
. </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id592168"></a><p><span class="title"><i>
|
. </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id664710"></a><p><span class="title"><i>
|
||||||
Standard C++ IOStreams and Locales
|
Standard C++ IOStreams and Locales
|
||||||
</i>. </span><span class="subtitle">
|
</i>. </span><span class="subtitle">
|
||||||
Advanced Programmer's Guide and Reference
|
Advanced Programmer's Guide and Reference
|
||||||
. </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
|
. </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
|
||||||
Addison Wesley Longman
|
Addison Wesley Longman
|
||||||
. </span></span></p></div><div class="biblioentry"><a id="id554048"></a><p><span class="biblioid">
|
. </span></span></p></div><div class="biblioentry"><a id="id568249"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.lysator.liu.se/c/na1.html" target="_top">
|
<a class="ulink" href="http://www.lysator.liu.se/c/na1.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
A brief description of Normative Addendum 1
|
A brief description of Normative Addendum 1
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">Clive</span> <span class="surname">Feather</span>. </span><span class="pagenums">Extended Character Sets. </span></p></div><div class="biblioentry"><a id="id569562"></a><p><span class="biblioid">
|
. </span><span class="author"><span class="firstname">Clive</span> <span class="surname">Feather</span>. </span><span class="pagenums">Extended Character Sets. </span></p></div><div class="biblioentry"><a id="id655840"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://tldp.org/HOWTO/Unicode-HOWTO.html" target="_top">
|
<a class="ulink" href="http://tldp.org/HOWTO/Unicode-HOWTO.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
The Unicode HOWTO
|
The Unicode HOWTO
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">Bruno</span> <span class="surname">Haible</span>. </span></p></div><div class="biblioentry"><a id="id652216"></a><p><span class="biblioid">
|
. </span><span class="author"><span class="firstname">Bruno</span> <span class="surname">Haible</span>. </span></p></div><div class="biblioentry"><a id="id630553"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.cl.cam.ac.uk/~mgk25/unicode.html" target="_top">
|
<a class="ulink" href="http://www.cl.cam.ac.uk/~mgk25/unicode.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
UTF-8 and Unicode FAQ for Unix/Linux
|
UTF-8 and Unicode FAQ for Unix/Linux
|
||||||
@ -700,16 +700,16 @@ void test01()
|
|||||||
model. As of this writing, it is unknown how to query to see
|
model. As of this writing, it is unknown how to query to see
|
||||||
if a specified message catalog exists using the gettext
|
if a specified message catalog exists using the gettext
|
||||||
package.
|
package.
|
||||||
</p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id502869"></a><p><span class="title"><i>
|
</p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id534629"></a><p><span class="title"><i>
|
||||||
The GNU C Library
|
The GNU C Library
|
||||||
</i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6 Character Set Handling, and 7 Locales and Internationalization
|
</i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6 Character Set Handling, and 7 Locales and Internationalization
|
||||||
. </span></p></div><div class="biblioentry" title="Correspondence"><a id="id538908"></a><p><span class="title"><i>
|
. </span></p></div><div class="biblioentry" title="Correspondence"><a id="id669791"></a><p><span class="title"><i>
|
||||||
Correspondence
|
Correspondence
|
||||||
</i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id533345"></a><p><span class="title"><i>
|
</i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id669820"></a><p><span class="title"><i>
|
||||||
ISO/IEC 14882:1998 Programming languages - C++
|
ISO/IEC 14882:1998 Programming languages - C++
|
||||||
</i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id533363"></a><p><span class="title"><i>
|
</i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id578850"></a><p><span class="title"><i>
|
||||||
ISO/IEC 9899:1999 Programming languages - C
|
ISO/IEC 9899:1999 Programming languages - C
|
||||||
</i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id654168"></a><p><span class="biblioid">
|
</i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id578868"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.opengroup.org/austin" target="_top">
|
<a class="ulink" href="http://www.opengroup.org/austin" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
|
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
|
||||||
@ -718,17 +718,17 @@ void test01()
|
|||||||
. </span><span class="copyright">Copyright © 2008
|
. </span><span class="copyright">Copyright © 2008
|
||||||
The Open Group/The Institute of Electrical and Electronics
|
The Open Group/The Institute of Electrical and Electronics
|
||||||
Engineers, Inc.
|
Engineers, Inc.
|
||||||
. </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id571065"></a><p><span class="title"><i>
|
. </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id600978"></a><p><span class="title"><i>
|
||||||
The C++ Programming Language, Special Edition
|
The C++ Programming Language, Special Edition
|
||||||
</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
|
</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
|
||||||
Addison Wesley
|
Addison Wesley
|
||||||
. </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id571106"></a><p><span class="title"><i>
|
. </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id575810"></a><p><span class="title"><i>
|
||||||
Standard C++ IOStreams and Locales
|
Standard C++ IOStreams and Locales
|
||||||
</i>. </span><span class="subtitle">
|
</i>. </span><span class="subtitle">
|
||||||
Advanced Programmer's Guide and Reference
|
Advanced Programmer's Guide and Reference
|
||||||
. </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
|
. </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
|
||||||
Addison Wesley Longman
|
Addison Wesley Longman
|
||||||
. </span></span></p></div><div class="biblioentry"><a id="id576320"></a><p><span class="biblioid">
|
. </span></span></p></div><div class="biblioentry"><a id="id607070"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://java.sun.com/reference/api/index.html" target="_top">
|
<a class="ulink" href="http://java.sun.com/reference/api/index.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
API Specifications, Java Platform
|
API Specifications, Java Platform
|
||||||
@ -736,7 +736,7 @@ void test01()
|
|||||||
</a>
|
</a>
|
||||||
. </span><span class="pagenums">java.util.Properties, java.text.MessageFormat,
|
. </span><span class="pagenums">java.util.Properties, java.text.MessageFormat,
|
||||||
java.util.Locale, java.util.ResourceBundle
|
java.util.Locale, java.util.ResourceBundle
|
||||||
. </span></p></div><div class="biblioentry"><a id="id576344"></a><p><span class="biblioid">
|
. </span></p></div><div class="biblioentry"><a id="id607093"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.gnu.org/software/gettext/" target="_top">
|
<a class="ulink" href="http://www.gnu.org/software/gettext/" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
GNU gettext tools, version 0.10.38, Native Language Support
|
GNU gettext tools, version 0.10.38, Native Language Support
|
||||||
|
File diff suppressed because one or more lines are too long
@ -7,7 +7,7 @@
|
|||||||
Standard Contents
|
Standard Contents
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 13. Input and Output"><div class="titlepage"><div><div><h2 class="title"><a id="std.io"></a>Chapter 13.
|
</th><td width="20%" align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 13. Input and Output"><div class="titlepage"><div><div><h2 class="title"><a id="std.io"></a>Chapter 13.
|
||||||
Input and Output
|
Input and Output
|
||||||
<a id="id647716" class="indexterm"></a>
|
<a id="id689209" class="indexterm"></a>
|
||||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span class="sect1"><a href="streambufs.html">Stream Buffers</a></span></dt><dd><dl><dt><span class="sect2"><a href="streambufs.html#io.streambuf.derived">Derived streambuf Classes</a></span></dt><dt><span class="sect2"><a href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span class="sect1"><a href="stringstreams.html">Memory Based Streams</a></span></dt><dd><dl><dt><span class="sect2"><a href="stringstreams.html#std.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></dd><dt><span class="sect1"><a href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span class="sect2"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying a File</a></span></dt><dt><span class="sect2"><a href="fstreams.html#std.io.filestreams.binary">Binary Input and Output</a></span></dt></dl></dd><dt><span class="sect1"><a href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="sect2"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file descriptors</a></span></dt><dt><span class="sect2"><a href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></div><div class="sect1" title="Iostream Objects"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.objects"></a>Iostream Objects</h2></div></div></div><p>To minimize the time you have to wait on the compiler, it's good to
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span class="sect1"><a href="streambufs.html">Stream Buffers</a></span></dt><dd><dl><dt><span class="sect2"><a href="streambufs.html#io.streambuf.derived">Derived streambuf Classes</a></span></dt><dt><span class="sect2"><a href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span class="sect1"><a href="stringstreams.html">Memory Based Streams</a></span></dt><dd><dl><dt><span class="sect2"><a href="stringstreams.html#std.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></dd><dt><span class="sect1"><a href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span class="sect2"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying a File</a></span></dt><dt><span class="sect2"><a href="fstreams.html#std.io.filestreams.binary">Binary Input and Output</a></span></dt></dl></dd><dt><span class="sect1"><a href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="sect2"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file descriptors</a></span></dt><dt><span class="sect2"><a href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></div><div class="sect1" title="Iostream Objects"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.objects"></a>Iostream Objects</h2></div></div></div><p>To minimize the time you have to wait on the compiler, it's good to
|
||||||
only include the headers you really need. Many people simply include
|
only include the headers you really need. Many people simply include
|
||||||
<iostream> when they don't need to -- and that can <span class="emphasis"><em>penalize
|
<iostream> when they don't need to -- and that can <span class="emphasis"><em>penalize
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
Standard Contents
|
Standard Contents
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 10. Iterators"><div class="titlepage"><div><div><h2 class="title"><a id="std.iterators"></a>Chapter 10.
|
</th><td width="20%" align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 10. Iterators"><div class="titlepage"><div><div><h2 class="title"><a id="std.iterators"></a>Chapter 10.
|
||||||
Iterators
|
Iterators
|
||||||
<a id="id573150" class="indexterm"></a>
|
<a id="id628556" class="indexterm"></a>
|
||||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="iterators.html#std.iterators.predefined">Predefined</a></span></dt><dd><dl><dt><span class="sect2"><a href="iterators.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="sect2"><a href="iterators.html#iterators.predefined.end">One Past the End</a></span></dt></dl></dd></dl></div><div class="sect1" title="Predefined"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.iterators.predefined"></a>Predefined</h2></div></div></div><div class="sect2" title="Iterators vs. Pointers"><div class="titlepage"><div><div><h3 class="title"><a id="iterators.predefined.vs_pointers"></a>Iterators vs. Pointers</h3></div></div></div><p>
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="iterators.html#std.iterators.predefined">Predefined</a></span></dt><dd><dl><dt><span class="sect2"><a href="iterators.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="sect2"><a href="iterators.html#iterators.predefined.end">One Past the End</a></span></dt></dl></dd></dl></div><div class="sect1" title="Predefined"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.iterators.predefined"></a>Predefined</h2></div></div></div><div class="sect2" title="Iterators vs. Pointers"><div class="titlepage"><div><div><h3 class="title"><a id="iterators.predefined.vs_pointers"></a>Iterators vs. Pointers</h3></div></div></div><p>
|
||||||
The following
|
The following
|
||||||
FAQ <a class="link" href="../faq.html#faq.iterator_as_pod" title="7.1.">entry</a> points out that
|
FAQ <a class="link" href="../faq.html#faq.iterator_as_pod" title="7.1.">entry</a> points out that
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
Standard Contents
|
Standard Contents
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 8. Localization"><div class="titlepage"><div><div><h2 class="title"><a id="std.localization"></a>Chapter 8.
|
</th><td width="20%" align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 8. Localization"><div class="titlepage"><div><div><h2 class="title"><a id="std.localization"></a>Chapter 8.
|
||||||
Localization
|
Localization
|
||||||
<a id="id601252" class="indexterm"></a>
|
<a id="id591938" class="indexterm"></a>
|
||||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt></dl></dd></dl></div><div class="section" title="Locales"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.locales"></a>Locales</h2></div></div></div><div class="section" title="locale"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.locales.locale"></a>locale</h3></div></div></div><p>
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt></dl></dd></dl></div><div class="section" title="Locales"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.locales"></a>Locales</h2></div></div></div><div class="section" title="locale"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.locales.locale"></a>locale</h3></div></div></div><p>
|
||||||
Describes the basic locale object, including nested
|
Describes the basic locale object, including nested
|
||||||
classes id, facet, and the reference-counted implementation object,
|
classes id, facet, and the reference-counted implementation object,
|
||||||
@ -403,18 +403,18 @@ global locale" (emphasis Paolo), that is:
|
|||||||
What should non-required facet instantiations do? If the
|
What should non-required facet instantiations do? If the
|
||||||
generic implementation is provided, then how to end-users
|
generic implementation is provided, then how to end-users
|
||||||
provide specializations?
|
provide specializations?
|
||||||
</p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id541662"></a><p><span class="title"><i>
|
</p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id653304"></a><p><span class="title"><i>
|
||||||
The GNU C Library
|
The GNU C Library
|
||||||
</i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">
|
</i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">
|
||||||
Chapters 6 Character Set Handling and 7 Locales and
|
Chapters 6 Character Set Handling and 7 Locales and
|
||||||
Internationalization
|
Internationalization
|
||||||
. </span></p></div><div class="biblioentry" title="Correspondence"><a id="id567498"></a><p><span class="title"><i>
|
. </span></p></div><div class="biblioentry" title="Correspondence"><a id="id575659"></a><p><span class="title"><i>
|
||||||
Correspondence
|
Correspondence
|
||||||
</i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id628132"></a><p><span class="title"><i>
|
</i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id695371"></a><p><span class="title"><i>
|
||||||
ISO/IEC 14882:1998 Programming languages - C++
|
ISO/IEC 14882:1998 Programming languages - C++
|
||||||
</i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id602622"></a><p><span class="title"><i>
|
</i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id695390"></a><p><span class="title"><i>
|
||||||
ISO/IEC 9899:1999 Programming languages - C
|
ISO/IEC 9899:1999 Programming languages - C
|
||||||
</i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id602640"></a><p><span class="biblioid">
|
</i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id596212"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.opengroup.org/austin" target="_top">
|
<a class="ulink" href="http://www.opengroup.org/austin" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
|
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
|
||||||
@ -423,11 +423,11 @@ global locale" (emphasis Paolo), that is:
|
|||||||
. </span><span class="copyright">Copyright © 2008
|
. </span><span class="copyright">Copyright © 2008
|
||||||
The Open Group/The Institute of Electrical and Electronics
|
The Open Group/The Institute of Electrical and Electronics
|
||||||
Engineers, Inc.
|
Engineers, Inc.
|
||||||
. </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id551395"></a><p><span class="title"><i>
|
. </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id596241"></a><p><span class="title"><i>
|
||||||
The C++ Programming Language, Special Edition
|
The C++ Programming Language, Special Edition
|
||||||
</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
|
</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
|
||||||
Addison Wesley
|
Addison Wesley
|
||||||
. </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id560241"></a><p><span class="title"><i>
|
. </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id653142"></a><p><span class="title"><i>
|
||||||
Standard C++ IOStreams and Locales
|
Standard C++ IOStreams and Locales
|
||||||
</i>. </span><span class="subtitle">
|
</i>. </span><span class="subtitle">
|
||||||
Advanced Programmer's Guide and Reference
|
Advanced Programmer's Guide and Reference
|
||||||
|
@ -93,7 +93,7 @@
|
|||||||
or loading and unloading shared objects in memory. As such, using
|
or loading and unloading shared objects in memory. As such, using
|
||||||
caching allocators on systems that do not support
|
caching allocators on systems that do not support
|
||||||
<code class="function">abi::__cxa_atexit</code> is not recommended.
|
<code class="function">abi::__cxa_atexit</code> is not recommended.
|
||||||
</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.impl"></a>Implementation</h4></div></div></div><div class="section" title="Interface Design"><div class="titlepage"><div><div><h5 class="title"><a id="id585444"></a>Interface Design</h5></div></div></div><p>
|
</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.impl"></a>Implementation</h4></div></div></div><div class="section" title="Interface Design"><div class="titlepage"><div><div><h5 class="title"><a id="id577681"></a>Interface Design</h5></div></div></div><p>
|
||||||
The only allocator interface that
|
The only allocator interface that
|
||||||
is supported is the standard C++ interface. As such, all STL
|
is supported is the standard C++ interface. As such, all STL
|
||||||
containers have been adjusted, and all external allocators have
|
containers have been adjusted, and all external allocators have
|
||||||
@ -106,7 +106,7 @@
|
|||||||
</p><p>
|
</p><p>
|
||||||
The base class that <code class="classname">allocator</code> is derived from
|
The base class that <code class="classname">allocator</code> is derived from
|
||||||
may not be user-configurable.
|
may not be user-configurable.
|
||||||
</p></div><div class="section" title="Selecting Default Allocation Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id571671"></a>Selecting Default Allocation Policy</h5></div></div></div><p>
|
</p></div><div class="section" title="Selecting Default Allocation Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id630749"></a>Selecting Default Allocation Policy</h5></div></div></div><p>
|
||||||
It's difficult to pick an allocation strategy that will provide
|
It's difficult to pick an allocation strategy that will provide
|
||||||
maximum utility, without excessively penalizing some behavior. In
|
maximum utility, without excessively penalizing some behavior. In
|
||||||
fact, it's difficult just deciding which typical actions to measure
|
fact, it's difficult just deciding which typical actions to measure
|
||||||
@ -143,7 +143,7 @@
|
|||||||
The current default choice for
|
The current default choice for
|
||||||
<code class="classname">allocator</code> is
|
<code class="classname">allocator</code> is
|
||||||
<code class="classname">__gnu_cxx::new_allocator</code>.
|
<code class="classname">__gnu_cxx::new_allocator</code>.
|
||||||
</p></div><div class="section" title="Disabling Memory Caching"><div class="titlepage"><div><div><h5 class="title"><a id="id594539"></a>Disabling Memory Caching</h5></div></div></div><p>
|
</p></div><div class="section" title="Disabling Memory Caching"><div class="titlepage"><div><div><h5 class="title"><a id="id599278"></a>Disabling Memory Caching</h5></div></div></div><p>
|
||||||
In use, <code class="classname">allocator</code> may allocate and
|
In use, <code class="classname">allocator</code> may allocate and
|
||||||
deallocate using implementation-specified strategies and
|
deallocate using implementation-specified strategies and
|
||||||
heuristics. Because of this, every call to an allocator object's
|
heuristics. Because of this, every call to an allocator object's
|
||||||
@ -308,11 +308,11 @@
|
|||||||
A high-performance allocator that uses a bit-map to keep track
|
A high-performance allocator that uses a bit-map to keep track
|
||||||
of the used and unused memory locations. It has its own
|
of the used and unused memory locations. It has its own
|
||||||
documentation, found <a class="link" href="bitmap_allocator.html" title="bitmap_allocator">here</a>.
|
documentation, found <a class="link" href="bitmap_allocator.html" title="bitmap_allocator">here</a>.
|
||||||
</p></li></ol></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id577136"></a><p><span class="title"><i>
|
</p></li></ol></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id566591"></a><p><span class="title"><i>
|
||||||
ISO/IEC 14882:1998 Programming languages - C++
|
ISO/IEC 14882:1998 Programming languages - C++
|
||||||
</i>. </span>
|
</i>. </span>
|
||||||
isoc++_1998
|
isoc++_1998
|
||||||
<span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry"><a id="id577150"></a><p><span class="biblioid">
|
<span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry"><a id="id566606"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.drdobbs.com/cpp/184403759" target="_top">
|
<a class="ulink" href="http://www.drdobbs.com/cpp/184403759" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
The Standard Librarian: What Are Allocators Good For?
|
The Standard Librarian: What Are Allocators Good For?
|
||||||
@ -320,19 +320,19 @@
|
|||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
|
. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
|
||||||
C/C++ Users Journal
|
C/C++ Users Journal
|
||||||
. </span></span></p></div><div class="biblioentry"><a id="id621845"></a><p><span class="biblioid">
|
. </span></span></p></div><div class="biblioentry"><a id="id592020"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.cs.umass.edu/~emery/hoard/" target="_top">
|
<a class="ulink" href="http://www.cs.umass.edu/~emery/hoard/" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
The Hoard Memory Allocator
|
The Hoard Memory Allocator
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span></p></div><div class="biblioentry"><a id="id553878"></a><p><span class="biblioid">
|
. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span></p></div><div class="biblioentry"><a id="id592050"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf" target="_top">
|
<a class="ulink" href="http://www.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Reconsidering Custom Memory Allocation
|
Reconsidering Custom Memory Allocation
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span><span class="author"><span class="firstname">Ben</span> <span class="surname">Zorn</span>. </span><span class="author"><span class="firstname">Kathryn</span> <span class="surname">McKinley</span>. </span><span class="copyright">Copyright © 2002 OOPSLA. </span></p></div><div class="biblioentry"><a id="id576265"></a><p><span class="biblioid">
|
. </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span><span class="author"><span class="firstname">Ben</span> <span class="surname">Zorn</span>. </span><span class="author"><span class="firstname">Kathryn</span> <span class="surname">McKinley</span>. </span><span class="copyright">Copyright © 2002 OOPSLA. </span></p></div><div class="biblioentry"><a id="id618584"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.angelikalanger.com/Articles/C++Report/Allocators/Allocators.html" target="_top">
|
<a class="ulink" href="http://www.angelikalanger.com/Articles/C++Report/Allocators/Allocators.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Allocator Types
|
Allocator Types
|
||||||
@ -340,9 +340,9 @@
|
|||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="publisher"><span class="publishername">
|
. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="publisher"><span class="publishername">
|
||||||
C/C++ Users Journal
|
C/C++ Users Journal
|
||||||
. </span></span></p></div><div class="biblioentry" title="The C++ Programming Language"><a id="id564944"></a><p><span class="title"><i>The C++ Programming Language</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 . </span><span class="pagenums">19.4 Allocators. </span><span class="publisher"><span class="publishername">
|
. </span></span></p></div><div class="biblioentry" title="The C++ Programming Language"><a id="id573163"></a><p><span class="title"><i>The C++ Programming Language</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 . </span><span class="pagenums">19.4 Allocators. </span><span class="publisher"><span class="publishername">
|
||||||
Addison Wesley
|
Addison Wesley
|
||||||
. </span></span></p></div><div class="biblioentry" title="Yalloc: A Recycling C++ Allocator"><a id="id564390"></a><p><span class="title"><i>Yalloc: A Recycling C++ Allocator</i>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Yen</span>. </span></p></div></div></div><div class="section" title="auto_ptr"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.auto_ptr"></a>auto_ptr</h3></div></div></div><div class="section" title="Limitations"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.limitations"></a>Limitations</h4></div></div></div><p>Explaining all of the fun and delicious things that can
|
. </span></span></p></div><div class="biblioentry" title="Yalloc: A Recycling C++ Allocator"><a id="id598393"></a><p><span class="title"><i>Yalloc: A Recycling C++ Allocator</i>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Yen</span>. </span></p></div></div></div><div class="section" title="auto_ptr"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.auto_ptr"></a>auto_ptr</h3></div></div></div><div class="section" title="Limitations"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.limitations"></a>Limitations</h4></div></div></div><p>Explaining all of the fun and delicious things that can
|
||||||
happen with misuse of the <code class="classname">auto_ptr</code> class
|
happen with misuse of the <code class="classname">auto_ptr</code> class
|
||||||
template (called <acronym class="acronym">AP</acronym> here) would take some
|
template (called <acronym class="acronym">AP</acronym> here) would take some
|
||||||
time. Suffice it to say that the use of <acronym class="acronym">AP</acronym>
|
time. Suffice it to say that the use of <acronym class="acronym">AP</acronym>
|
||||||
@ -458,7 +458,7 @@ drops to zero.
|
|||||||
Derived classes override those functions to destroy resources in a context
|
Derived classes override those functions to destroy resources in a context
|
||||||
where the correct dynamic type is known. This is an application of the
|
where the correct dynamic type is known. This is an application of the
|
||||||
technique known as type erasure.
|
technique known as type erasure.
|
||||||
</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.impl"></a>Implementation</h4></div></div></div><div class="section" title="Class Hierarchy"><div class="titlepage"><div><div><h5 class="title"><a id="id536213"></a>Class Hierarchy</h5></div></div></div><p>
|
</p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.impl"></a>Implementation</h4></div></div></div><div class="section" title="Class Hierarchy"><div class="titlepage"><div><div><h5 class="title"><a id="id663376"></a>Class Hierarchy</h5></div></div></div><p>
|
||||||
A <code class="classname">shared_ptr<T></code> contains a pointer of
|
A <code class="classname">shared_ptr<T></code> contains a pointer of
|
||||||
type <span class="type">T*</span> and an object of type
|
type <span class="type">T*</span> and an object of type
|
||||||
<code class="classname">__shared_count</code>. The shared_count contains a
|
<code class="classname">__shared_count</code>. The shared_count contains a
|
||||||
@ -500,7 +500,7 @@ be forwarded to <span class="type">Tp</span>'s constructor.
|
|||||||
Unlike the other <code class="classname">_Sp_counted_*</code> classes, this one is parameterized on the
|
Unlike the other <code class="classname">_Sp_counted_*</code> classes, this one is parameterized on the
|
||||||
type of object, not the type of pointer; this is purely a convenience
|
type of object, not the type of pointer; this is purely a convenience
|
||||||
that simplifies the implementation slightly.
|
that simplifies the implementation slightly.
|
||||||
</p></dd></dl></div></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h5 class="title"><a id="id622537"></a>Thread Safety</h5></div></div></div><p>
|
</p></dd></dl></div></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h5 class="title"><a id="id584060"></a>Thread Safety</h5></div></div></div><p>
|
||||||
The interface of <code class="classname">tr1::shared_ptr</code> was extended for C++0x
|
The interface of <code class="classname">tr1::shared_ptr</code> was extended for C++0x
|
||||||
with support for rvalue-references and the other features from
|
with support for rvalue-references and the other features from
|
||||||
N2351. As with other libstdc++ headers shared by TR1 and C++0x,
|
N2351. As with other libstdc++ headers shared by TR1 and C++0x,
|
||||||
@ -558,7 +558,7 @@ compiler, standard library, platform etc. For the version of
|
|||||||
shared_ptr in libstdc++ the compiler and library are fixed, which
|
shared_ptr in libstdc++ the compiler and library are fixed, which
|
||||||
makes things much simpler: we have an atomic CAS or we don't, see Lock
|
makes things much simpler: we have an atomic CAS or we don't, see Lock
|
||||||
Policy below for details.
|
Policy below for details.
|
||||||
</p></div><div class="section" title="Selecting Lock Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id574548"></a>Selecting Lock Policy</h5></div></div></div><p>
|
</p></div><div class="section" title="Selecting Lock Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id591332"></a>Selecting Lock Policy</h5></div></div></div><p>
|
||||||
</p><p>
|
</p><p>
|
||||||
There is a single <code class="classname">_Sp_counted_base</code> class,
|
There is a single <code class="classname">_Sp_counted_base</code> class,
|
||||||
which is a template parameterized on the enum
|
which is a template parameterized on the enum
|
||||||
@ -599,7 +599,7 @@ used when libstdc++ is built without <code class="literal">--enable-threads</cod
|
|||||||
<code class="filename">ext/atomicity.h</code>, which detect if the program
|
<code class="filename">ext/atomicity.h</code>, which detect if the program
|
||||||
is multi-threaded. If only one thread of execution exists in
|
is multi-threaded. If only one thread of execution exists in
|
||||||
the program then less expensive non-atomic operations are used.
|
the program then less expensive non-atomic operations are used.
|
||||||
</p></div><div class="section" title="Dual C++0x and TR1 Implementation"><div class="titlepage"><div><div><h5 class="title"><a id="id552414"></a>Dual C++0x and TR1 Implementation</h5></div></div></div><p>
|
</p></div><div class="section" title="Dual C++0x and TR1 Implementation"><div class="titlepage"><div><div><h5 class="title"><a id="id602010"></a>Dual C++0x and TR1 Implementation</h5></div></div></div><p>
|
||||||
The classes derived from <code class="classname">_Sp_counted_base</code> (see Class Hierarchy
|
The classes derived from <code class="classname">_Sp_counted_base</code> (see Class Hierarchy
|
||||||
below) and <code class="classname">__shared_count</code> are implemented separately for C++0x
|
below) and <code class="classname">__shared_count</code> are implemented separately for C++0x
|
||||||
and TR1, in <code class="filename">bits/boost_sp_shared_count.h</code> and
|
and TR1, in <code class="filename">bits/boost_sp_shared_count.h</code> and
|
||||||
@ -610,7 +610,7 @@ The TR1 implementation is considered relatively stable, so is unlikely to
|
|||||||
change unless bug fixes require it. If the code that is common to both
|
change unless bug fixes require it. If the code that is common to both
|
||||||
C++0x and TR1 modes needs to diverge further then it might be necessary to
|
C++0x and TR1 modes needs to diverge further then it might be necessary to
|
||||||
duplicate additional classes and only make changes to the C++0x versions.
|
duplicate additional classes and only make changes to the C++0x versions.
|
||||||
</p></div><div class="section" title="Related functions and classes"><div class="titlepage"><div><div><h5 class="title"><a id="id530167"></a>Related functions and classes</h5></div></div></div><div class="variablelist"><dl><dt><span class="term"><code class="code">dynamic_pointer_cast</code>, <code class="code">static_pointer_cast</code>,
|
</p></div><div class="section" title="Related functions and classes"><div class="titlepage"><div><div><h5 class="title"><a id="id650024"></a>Related functions and classes</h5></div></div></div><div class="variablelist"><dl><dt><span class="term"><code class="code">dynamic_pointer_cast</code>, <code class="code">static_pointer_cast</code>,
|
||||||
<code class="code">const_pointer_cast</code></span></dt><dd><p>
|
<code class="code">const_pointer_cast</code></span></dt><dd><p>
|
||||||
As noted in N2351, these functions can be implemented non-intrusively using
|
As noted in N2351, these functions can be implemented non-intrusively using
|
||||||
the alias constructor. However the aliasing constructor is only available
|
the alias constructor. However the aliasing constructor is only available
|
||||||
@ -643,10 +643,10 @@ is called. Users should not try to use this.
|
|||||||
As well as the extra constructors, this implementation also needs some
|
As well as the extra constructors, this implementation also needs some
|
||||||
members of _Sp_counted_deleter to be protected where they could otherwise
|
members of _Sp_counted_deleter to be protected where they could otherwise
|
||||||
be private.
|
be private.
|
||||||
</p></dd></dl></div></div></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.using"></a>Use</h4></div></div></div><div class="section" title="Examples"><div class="titlepage"><div><div><h5 class="title"><a id="id558154"></a>Examples</h5></div></div></div><p>
|
</p></dd></dl></div></div></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.using"></a>Use</h4></div></div></div><div class="section" title="Examples"><div class="titlepage"><div><div><h5 class="title"><a id="id597398"></a>Examples</h5></div></div></div><p>
|
||||||
Examples of use can be found in the testsuite, under
|
Examples of use can be found in the testsuite, under
|
||||||
<code class="filename">testsuite/tr1/2_general_utilities/shared_ptr</code>.
|
<code class="filename">testsuite/tr1/2_general_utilities/shared_ptr</code>.
|
||||||
</p></div><div class="section" title="Unresolved Issues"><div class="titlepage"><div><div><h5 class="title"><a id="id558170"></a>Unresolved Issues</h5></div></div></div><p>
|
</p></div><div class="section" title="Unresolved Issues"><div class="titlepage"><div><div><h5 class="title"><a id="id597415"></a>Unresolved Issues</h5></div></div></div><p>
|
||||||
The resolution to C++ Standard Library issue <a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#674" target="_top">674</a>,
|
The resolution to C++ Standard Library issue <a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#674" target="_top">674</a>,
|
||||||
"shared_ptr interface changes for consistency with N1856" will
|
"shared_ptr interface changes for consistency with N1856" will
|
||||||
need to be implemented after it is accepted into the working
|
need to be implemented after it is accepted into the working
|
||||||
@ -694,7 +694,7 @@ be private.
|
|||||||
code to work with, Peter Dimov in particular for his help and
|
code to work with, Peter Dimov in particular for his help and
|
||||||
invaluable advice on thread safety. Phillip Jordan and Paolo
|
invaluable advice on thread safety. Phillip Jordan and Paolo
|
||||||
Carlini for the lock policy implementation.
|
Carlini for the lock policy implementation.
|
||||||
</p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id569700"></a><p><span class="biblioid">
|
</p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id594757"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2351.htm" target="_top">
|
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2351.htm" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Improving shared_ptr for C++0x, Revision 2
|
Improving shared_ptr for C++0x, Revision 2
|
||||||
@ -702,7 +702,7 @@ be private.
|
|||||||
</a>
|
</a>
|
||||||
. </span><span class="subtitle">
|
. </span><span class="subtitle">
|
||||||
N2351
|
N2351
|
||||||
. </span></p></div><div class="biblioentry"><a id="id552965"></a><p><span class="biblioid">
|
. </span></p></div><div class="biblioentry"><a id="id594780"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2456.html" target="_top">
|
<a class="ulink" href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2456.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
C++ Standard Library Active Issues List
|
C++ Standard Library Active Issues List
|
||||||
@ -710,7 +710,7 @@ be private.
|
|||||||
</a>
|
</a>
|
||||||
. </span><span class="subtitle">
|
. </span><span class="subtitle">
|
||||||
N2456
|
N2456
|
||||||
. </span></p></div><div class="biblioentry"><a id="id552988"></a><p><span class="biblioid">
|
. </span></p></div><div class="biblioentry"><a id="id575622"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf" target="_top">
|
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Working Draft, Standard for Programming Language C++
|
Working Draft, Standard for Programming Language C++
|
||||||
@ -718,7 +718,7 @@ be private.
|
|||||||
</a>
|
</a>
|
||||||
. </span><span class="subtitle">
|
. </span><span class="subtitle">
|
||||||
N2461
|
N2461
|
||||||
. </span></p></div><div class="biblioentry"><a id="id554228"></a><p><span class="biblioid">
|
. </span></p></div><div class="biblioentry"><a id="id654766"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">shared_ptr
|
<a class="ulink" href="http://boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">shared_ptr
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Boost C++ Libraries documentation, shared_ptr
|
Boost C++ Libraries documentation, shared_ptr
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
Standard Contents
|
Standard Contents
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 12. Numerics"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics"></a>Chapter 12.
|
</th><td width="20%" align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 12. Numerics"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics"></a>Chapter 12.
|
||||||
Numerics
|
Numerics
|
||||||
<a id="id528822" class="indexterm"></a>
|
<a id="id696757" class="indexterm"></a>
|
||||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span class="sect2"><a href="numerics.html#numerics.complex.processing">complex Processing</a></span></dt></dl></dd><dt><span class="sect1"><a href="generalized_numeric_operations.html">Generalized Operations</a></span></dt><dt><span class="sect1"><a href="numerics_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="sect2"><a href="numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="sect2"><a href="numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></div><div class="sect1" title="Complex"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.numerics.complex"></a>Complex</h2></div></div></div><p>
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span class="sect2"><a href="numerics.html#numerics.complex.processing">complex Processing</a></span></dt></dl></dd><dt><span class="sect1"><a href="generalized_numeric_operations.html">Generalized Operations</a></span></dt><dt><span class="sect1"><a href="numerics_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="sect2"><a href="numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="sect2"><a href="numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></div><div class="sect1" title="Complex"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.numerics.complex"></a>Complex</h2></div></div></div><p>
|
||||||
</p><div class="sect2" title="complex Processing"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.complex.processing"></a>complex Processing</h3></div></div></div><p>
|
</p><div class="sect2" title="complex Processing"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.complex.processing"></a>complex Processing</h3></div></div></div><p>
|
||||||
</p><p>Using <code class="code">complex<></code> becomes even more comple- er, sorry,
|
</p><p>Using <code class="code">complex<></code> becomes even more comple- er, sorry,
|
||||||
|
@ -13,11 +13,11 @@ explicit source declaration or by compiling existing sources with a
|
|||||||
specific compiler flag.
|
specific compiler flag.
|
||||||
</p><div class="sect1" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.intro"></a>Intro</h2></div></div></div><p>The following library components in the include
|
</p><div class="sect1" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.intro"></a>Intro</h2></div></div></div><p>The following library components in the include
|
||||||
<code class="filename">numeric</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="function">std::accumulate</code></p></li><li class="listitem"><p><code class="function">std::adjacent_difference</code></p></li><li class="listitem"><p><code class="function">std::inner_product</code></p></li><li class="listitem"><p><code class="function">std::partial_sum</code></p></li></ul></div><p>The following library components in the include
|
<code class="filename">numeric</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="function">std::accumulate</code></p></li><li class="listitem"><p><code class="function">std::adjacent_difference</code></p></li><li class="listitem"><p><code class="function">std::inner_product</code></p></li><li class="listitem"><p><code class="function">std::partial_sum</code></p></li></ul></div><p>The following library components in the include
|
||||||
<code class="filename">algorithm</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="function">std::adjacent_find</code></p></li><li class="listitem"><p><code class="function">std::count</code></p></li><li class="listitem"><p><code class="function">std::count_if</code></p></li><li class="listitem"><p><code class="function">std::equal</code></p></li><li class="listitem"><p><code class="function">std::find</code></p></li><li class="listitem"><p><code class="function">std::find_if</code></p></li><li class="listitem"><p><code class="function">std::find_first_of</code></p></li><li class="listitem"><p><code class="function">std::for_each</code></p></li><li class="listitem"><p><code class="function">std::generate</code></p></li><li class="listitem"><p><code class="function">std::generate_n</code></p></li><li class="listitem"><p><code class="function">std::lexicographical_compare</code></p></li><li class="listitem"><p><code class="function">std::mismatch</code></p></li><li class="listitem"><p><code class="function">std::search</code></p></li><li class="listitem"><p><code class="function">std::search_n</code></p></li><li class="listitem"><p><code class="function">std::transform</code></p></li><li class="listitem"><p><code class="function">std::replace</code></p></li><li class="listitem"><p><code class="function">std::replace_if</code></p></li><li class="listitem"><p><code class="function">std::max_element</code></p></li><li class="listitem"><p><code class="function">std::merge</code></p></li><li class="listitem"><p><code class="function">std::min_element</code></p></li><li class="listitem"><p><code class="function">std::nth_element</code></p></li><li class="listitem"><p><code class="function">std::partial_sort</code></p></li><li class="listitem"><p><code class="function">std::partition</code></p></li><li class="listitem"><p><code class="function">std::random_shuffle</code></p></li><li class="listitem"><p><code class="function">std::set_union</code></p></li><li class="listitem"><p><code class="function">std::set_intersection</code></p></li><li class="listitem"><p><code class="function">std::set_symmetric_difference</code></p></li><li class="listitem"><p><code class="function">std::set_difference</code></p></li><li class="listitem"><p><code class="function">std::sort</code></p></li><li class="listitem"><p><code class="function">std::stable_sort</code></p></li><li class="listitem"><p><code class="function">std::unique_copy</code></p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="parallel_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry" title="Parallelization of Bulk Operations for STL Dictionaries"><a id="id563790"></a><p><span class="title"><i>
|
<code class="filename">algorithm</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="function">std::adjacent_find</code></p></li><li class="listitem"><p><code class="function">std::count</code></p></li><li class="listitem"><p><code class="function">std::count_if</code></p></li><li class="listitem"><p><code class="function">std::equal</code></p></li><li class="listitem"><p><code class="function">std::find</code></p></li><li class="listitem"><p><code class="function">std::find_if</code></p></li><li class="listitem"><p><code class="function">std::find_first_of</code></p></li><li class="listitem"><p><code class="function">std::for_each</code></p></li><li class="listitem"><p><code class="function">std::generate</code></p></li><li class="listitem"><p><code class="function">std::generate_n</code></p></li><li class="listitem"><p><code class="function">std::lexicographical_compare</code></p></li><li class="listitem"><p><code class="function">std::mismatch</code></p></li><li class="listitem"><p><code class="function">std::search</code></p></li><li class="listitem"><p><code class="function">std::search_n</code></p></li><li class="listitem"><p><code class="function">std::transform</code></p></li><li class="listitem"><p><code class="function">std::replace</code></p></li><li class="listitem"><p><code class="function">std::replace_if</code></p></li><li class="listitem"><p><code class="function">std::max_element</code></p></li><li class="listitem"><p><code class="function">std::merge</code></p></li><li class="listitem"><p><code class="function">std::min_element</code></p></li><li class="listitem"><p><code class="function">std::nth_element</code></p></li><li class="listitem"><p><code class="function">std::partial_sort</code></p></li><li class="listitem"><p><code class="function">std::partition</code></p></li><li class="listitem"><p><code class="function">std::random_shuffle</code></p></li><li class="listitem"><p><code class="function">std::set_union</code></p></li><li class="listitem"><p><code class="function">std::set_intersection</code></p></li><li class="listitem"><p><code class="function">std::set_symmetric_difference</code></p></li><li class="listitem"><p><code class="function">std::set_difference</code></p></li><li class="listitem"><p><code class="function">std::sort</code></p></li><li class="listitem"><p><code class="function">std::stable_sort</code></p></li><li class="listitem"><p><code class="function">std::unique_copy</code></p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="parallel_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry" title="Parallelization of Bulk Operations for STL Dictionaries"><a id="id535474"></a><p><span class="title"><i>
|
||||||
Parallelization of Bulk Operations for STL Dictionaries
|
Parallelization of Bulk Operations for STL Dictionaries
|
||||||
</i>. </span><span class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span>. </span><span class="author"><span class="firstname">Leonor</span> <span class="surname">Frias</span>. </span><span class="copyright">Copyright © 2007 . </span><span class="publisher"><span class="publishername">
|
</i>. </span><span class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span>. </span><span class="author"><span class="firstname">Leonor</span> <span class="surname">Frias</span>. </span><span class="copyright">Copyright © 2007 . </span><span class="publisher"><span class="publishername">
|
||||||
Workshop on Highly Parallel Processing on a Chip (HPPC) 2007. (LNCS)
|
Workshop on Highly Parallel Processing on a Chip (HPPC) 2007. (LNCS)
|
||||||
. </span></span></p></div><div class="biblioentry" title="The Multi-Core Standard Template Library"><a id="id536431"></a><p><span class="title"><i>
|
. </span></span></p></div><div class="biblioentry" title="The Multi-Core Standard Template Library"><a id="id535521"></a><p><span class="title"><i>
|
||||||
The Multi-Core Standard Template Library
|
The Multi-Core Standard Template Library
|
||||||
</i>. </span><span class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span>. </span><span class="author"><span class="firstname">Peter</span> <span class="surname">Sanders</span>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Putze</span>. </span><span class="copyright">Copyright © 2007 . </span><span class="publisher"><span class="publishername">
|
</i>. </span><span class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span>. </span><span class="author"><span class="firstname">Peter</span> <span class="surname">Sanders</span>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Putze</span>. </span><span class="copyright">Copyright © 2007 . </span><span class="publisher"><span class="publishername">
|
||||||
Euro-Par 2007: Parallel Processing. (LNCS 4641)
|
Euro-Par 2007: Parallel Processing. (LNCS 4641)
|
||||||
|
@ -138,7 +138,7 @@ vector-size: improvement = 3: call stack = 0x804842c ...
|
|||||||
call context.
|
call context.
|
||||||
(Environment variable not supported.)
|
(Environment variable not supported.)
|
||||||
</p></li></ul></div><p>
|
</p></li></ul></div><p>
|
||||||
</p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="profile_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry" title="Perflint: A Context Sensitive Performance Advisor for C++ Programs"><a id="id653695"></a><p><span class="title"><i>
|
</p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="profile_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry" title="Perflint: A Context Sensitive Performance Advisor for C++ Programs"><a id="id567116"></a><p><span class="title"><i>
|
||||||
Perflint: A Context Sensitive Performance Advisor for C++ Programs
|
Perflint: A Context Sensitive Performance Advisor for C++ Programs
|
||||||
</i>. </span><span class="author"><span class="firstname">Lixia</span> <span class="surname">Liu</span>. </span><span class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span>. </span><span class="copyright">Copyright © 2009 . </span><span class="publisher"><span class="publishername">
|
</i>. </span><span class="author"><span class="firstname">Lixia</span> <span class="surname">Liu</span>. </span><span class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span>. </span><span class="copyright">Copyright © 2009 . </span><span class="publisher"><span class="publishername">
|
||||||
Proceedings of the 2009 International Symposium on Code Generation
|
Proceedings of the 2009 International Symposium on Code Generation
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The GNU C++ Library</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="prev" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="next" href="intro.html" title="Part I. Introduction" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="../spine.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr></table><hr /></div><div class="book" title="The GNU C++ Library"><div class="titlepage"><div><div><h1 class="title"><a id="manual-index"></a>The GNU C++ Library</h1></div><div><p class="copyright">Copyright © 2009, 2010
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The GNU C++ Library</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="prev" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="next" href="intro.html" title="Part I. Introduction" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="../spine.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr></table><hr /></div><div class="book" title="The GNU C++ Library"><div class="titlepage"><div><div><h1 class="title"><a id="manual-index"></a>The GNU C++ Library</h1></div><div><p class="copyright">Copyright © 2009, 2010
|
||||||
<a class="ulink" href="http://www.fsf.org" target="_top">FSF</a>
|
<a class="ulink" href="http://www.fsf.org" target="_top">FSF</a>
|
||||||
</p></div><div><div class="legalnotice" title="Legal Notice"><a id="id603935"></a><p>
|
</p></div><div><div class="legalnotice" title="Legal Notice"><a id="id636420"></a><p>
|
||||||
<a class="link" href="license.html" title="License">License</a>
|
<a class="link" href="license.html" title="License">License</a>
|
||||||
</p></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="part"><a href="intro.html">I.
|
</p></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="part"><a href="intro.html">I.
|
||||||
Introduction
|
Introduction
|
||||||
@ -61,7 +61,7 @@
|
|||||||
|
|
||||||
</a></span></dt><dt><span class="appendix"><a href="appendix_gpl.html">D.
|
</a></span></dt><dt><span class="appendix"><a href="appendix_gpl.html">D.
|
||||||
<acronym class="acronym">GNU</acronym> General Public License version 3
|
<acronym class="acronym">GNU</acronym> General Public License version 3
|
||||||
</a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>1.1. <a href="status.html#id616155">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#id545724">C++ 200x Implementation Status</a></dt><dt>1.3. <a href="status.html#id563255">C++ TR1 Implementation Status</a></dt><dt>1.4. <a href="status.html#id621410">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using.html#id536642">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#id616437">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#id530054">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#id575199">C++ 200x Library Headers</a></dt><dt>3.5. <a href="using_headers.html#id549895">C++ 200x Library Headers for C Library Facilities</a></dt><dt>3.6. <a href="using_headers.html#id561380">C++ TR 1 Library Headers</a></dt><dt>3.7. <a href="using_headers.html#id605097">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.8. <a href="using_headers.html#id543860">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.9. <a href="using_headers.html#id599870">C++ ABI Headers</a></dt><dt>3.10. <a href="using_headers.html#id576171">Extension Headers</a></dt><dt>3.11. <a href="using_headers.html#id563137">Extension Debug Headers</a></dt><dt>3.12. <a href="using_headers.html#id553282">Extension Profile Headers</a></dt><dt>3.13. <a href="using_headers.html#id550322">Extension Parallel Headers</a></dt><dt>17.1. <a href="bk01pt03ch17s03.html#id533025">Debugging Containers</a></dt><dt>17.2. <a href="bk01pt03ch17s03.html#id661132">Debugging Containers C++0x</a></dt><dt>18.1. <a href="bk01pt03ch18s03.html#id660606">Parallel Algorithms</a></dt><dt>19.1. <a href="bk01pt03ch19s02.html#id556845">Profile Code Location</a></dt><dt>19.2. <a href="bk01pt03ch19s07.html#id501260">Profile Diagnostics</a></dt><dt>20.1. <a href="bitmap_allocator.html#id661907">Bitmap Allocator Memory Map</a></dt><dt>A.1. <a href="documentation_style.html#id640202">HTML to Doxygen Markup Comparison</a></dt><dt>A.2. <a href="documentation_style.html#id542838">HTML to Docbook XML Markup Comparison</a></dt><dt>A.3. <a href="documentation_style.html#id535867">Docbook XML Element Use</a></dt><dt>B.1. <a href="api.html#id659684">Extension Allocators</a></dt><dt>B.2. <a href="api.html#id651845">Extension Allocators Continued</a></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="../spine.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library Documentation </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Part I.
|
</a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>1.1. <a href="status.html#id645902">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#id580434">C++ 200x Implementation Status</a></dt><dt>1.3. <a href="status.html#id637087">C++ TR1 Implementation Status</a></dt><dt>1.4. <a href="status.html#id594745">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using.html#id628424">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#id625852">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#id634105">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#id591245">C++ 200x Library Headers</a></dt><dt>3.5. <a href="using_headers.html#id583968">C++ 200x Library Headers for C Library Facilities</a></dt><dt>3.6. <a href="using_headers.html#id585125">C++ TR 1 Library Headers</a></dt><dt>3.7. <a href="using_headers.html#id577806">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.8. <a href="using_headers.html#id534179">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.9. <a href="using_headers.html#id651546">C++ ABI Headers</a></dt><dt>3.10. <a href="using_headers.html#id593213">Extension Headers</a></dt><dt>3.11. <a href="using_headers.html#id628157">Extension Debug Headers</a></dt><dt>3.12. <a href="using_headers.html#id597860">Extension Profile Headers</a></dt><dt>3.13. <a href="using_headers.html#id658955">Extension Parallel Headers</a></dt><dt>17.1. <a href="bk01pt03ch17s03.html#id693432">Debugging Containers</a></dt><dt>17.2. <a href="bk01pt03ch17s03.html#id579743">Debugging Containers C++0x</a></dt><dt>18.1. <a href="bk01pt03ch18s03.html#id595569">Parallel Algorithms</a></dt><dt>19.1. <a href="bk01pt03ch19s02.html#id567567">Profile Code Location</a></dt><dt>19.2. <a href="bk01pt03ch19s07.html#id677844">Profile Diagnostics</a></dt><dt>20.1. <a href="bitmap_allocator.html#id690199">Bitmap Allocator Memory Map</a></dt><dt>A.1. <a href="documentation_style.html#id673395">HTML to Doxygen Markup Comparison</a></dt><dt>A.2. <a href="documentation_style.html#id640737">HTML to Docbook XML Markup Comparison</a></dt><dt>A.3. <a href="documentation_style.html#id686301">Docbook XML Element Use</a></dt><dt>B.1. <a href="api.html#id535814">Extension Allocators</a></dt><dt>B.2. <a href="api.html#id570649">Extension Allocators Continued</a></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="../spine.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library Documentation </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Part I.
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
</td></tr></table></div></body></html>
|
</td></tr></table></div></body></html>
|
||||||
|
File diff suppressed because one or more lines are too long
@ -7,7 +7,7 @@
|
|||||||
Standard Contents
|
Standard Contents
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 7. Strings"><div class="titlepage"><div><div><h2 class="title"><a id="std.strings"></a>Chapter 7.
|
</th><td width="20%" align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 7. Strings"><div class="titlepage"><div><div><h2 class="title"><a id="std.strings"></a>Chapter 7.
|
||||||
Strings
|
Strings
|
||||||
<a id="id624894" class="indexterm"></a>
|
<a id="id663681" class="indexterm"></a>
|
||||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="sect2"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></div><div class="sect1" title="String Classes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.strings.string"></a>String Classes</h2></div></div></div><div class="sect2" title="Simple Transformations"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.simple"></a>Simple Transformations</h3></div></div></div><p>
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="sect2"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></div><div class="sect1" title="String Classes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.strings.string"></a>String Classes</h2></div></div></div><div class="sect2" title="Simple Transformations"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.simple"></a>Simple Transformations</h3></div></div></div><p>
|
||||||
Here are Standard, simple, and portable ways to perform common
|
Here are Standard, simple, and portable ways to perform common
|
||||||
transformations on a <code class="code">string</code> instance, such as
|
transformations on a <code class="code">string</code> instance, such as
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
Standard Contents
|
Standard Contents
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 4. Support"><div class="titlepage"><div><div><h2 class="title"><a id="std.support"></a>Chapter 4.
|
</th><td width="20%" align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 4. Support"><div class="titlepage"><div><div><h2 class="title"><a id="std.support"></a>Chapter 4.
|
||||||
Support
|
Support
|
||||||
<a id="id593549" class="indexterm"></a>
|
<a id="id580302" class="indexterm"></a>
|
||||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="support.html#std.support.types">Types</a></span></dt><dd><dl><dt><span class="sect2"><a href="support.html#std.support.types.fundamental">Fundamental Types</a></span></dt><dt><span class="sect2"><a href="support.html#std.support.types.numeric_limits">Numeric Properties</a></span></dt><dt><span class="sect2"><a href="support.html#std.support.types.null">NULL</a></span></dt></dl></dd><dt><span class="sect1"><a href="dynamic_memory.html">Dynamic Memory</a></span></dt><dt><span class="sect1"><a href="termination.html">Termination</a></span></dt><dd><dl><dt><span class="sect2"><a href="termination.html#support.termination.handlers">Termination Handlers</a></span></dt><dt><span class="sect2"><a href="termination.html#support.termination.verbose">Verbose Terminate Handler</a></span></dt></dl></dd></dl></div><p>
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="support.html#std.support.types">Types</a></span></dt><dd><dl><dt><span class="sect2"><a href="support.html#std.support.types.fundamental">Fundamental Types</a></span></dt><dt><span class="sect2"><a href="support.html#std.support.types.numeric_limits">Numeric Properties</a></span></dt><dt><span class="sect2"><a href="support.html#std.support.types.null">NULL</a></span></dt></dl></dd><dt><span class="sect1"><a href="dynamic_memory.html">Dynamic Memory</a></span></dt><dt><span class="sect1"><a href="termination.html">Termination</a></span></dt><dd><dl><dt><span class="sect2"><a href="termination.html#support.termination.handlers">Termination Handlers</a></span></dt><dt><span class="sect2"><a href="termination.html#support.termination.verbose">Verbose Terminate Handler</a></span></dt></dl></dd></dl></div><p>
|
||||||
This part deals with the functions called and objects created
|
This part deals with the functions called and objects created
|
||||||
automatically during the course of a program's existence.
|
automatically during the course of a program's existence.
|
||||||
|
@ -493,7 +493,7 @@ only default variables.
|
|||||||
reporting functions including:
|
reporting functions including:
|
||||||
</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>time_counter</p></li><li class="listitem"><p>resource_counter</p></li><li class="listitem"><p>report_performance</p></li></ul></div></li></ul></div></div></div><div class="sect2" title="Special Topics"><div class="titlepage"><div><div><h3 class="title"><a id="test.special"></a>Special Topics</h3></div></div></div><div class="sect3" title="Qualifying Exception Safety Guarantees"><div class="titlepage"><div><div><h4 class="title"><a id="test.exception.safety"></a>
|
</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>time_counter</p></li><li class="listitem"><p>resource_counter</p></li><li class="listitem"><p>report_performance</p></li></ul></div></li></ul></div></div></div><div class="sect2" title="Special Topics"><div class="titlepage"><div><div><h3 class="title"><a id="test.special"></a>Special Topics</h3></div></div></div><div class="sect3" title="Qualifying Exception Safety Guarantees"><div class="titlepage"><div><div><h4 class="title"><a id="test.exception.safety"></a>
|
||||||
Qualifying Exception Safety Guarantees
|
Qualifying Exception Safety Guarantees
|
||||||
<a id="id638697" class="indexterm"></a>
|
<a id="id673021" class="indexterm"></a>
|
||||||
</h4></div></div></div><div class="sect4" title="Overview"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.overview"></a>Overview</h5></div></div></div><p>
|
</h4></div></div></div><div class="sect4" title="Overview"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.overview"></a>Overview</h5></div></div></div><p>
|
||||||
Testing is composed of running a particular test sequence,
|
Testing is composed of running a particular test sequence,
|
||||||
and looking at what happens to the surrounding code when
|
and looking at what happens to the surrounding code when
|
||||||
|
@ -11,5 +11,5 @@
|
|||||||
enumerated and detailed in the table below.
|
enumerated and detailed in the table below.
|
||||||
</p><p>
|
</p><p>
|
||||||
By default, <span class="command"><strong>g++</strong></span> is equivalent to <span class="command"><strong>g++ -std=gnu++98</strong></span>. The standard library also defaults to this dialect.
|
By default, <span class="command"><strong>g++</strong></span> is equivalent to <span class="command"><strong>g++ -std=gnu++98</strong></span>. The standard library also defaults to this dialect.
|
||||||
</p><div class="table"><a id="id536642"></a><p class="title"><b>Table 3.1. C++ Command Options</b></p><div class="table-contents"><table summary="C++ Command Options" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Option Flags</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="literal">-std=c++98</code></td><td align="left">Use the 1998 ISO C++ standard plus amendments.</td></tr><tr><td align="left"><code class="literal">-std=gnu++98</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-std=c++0x</code></td><td align="left">Use the working draft of the upcoming ISO C++0x standard.</td></tr><tr><td align="left"><code class="literal">-std=gnu++0x</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-fexceptions</code></td><td align="left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td align="left"><code class="literal">-frtti</code></td><td align="left">As above, but RTTI-free dialect.</td></tr><tr><td align="left"><code class="literal">-pthread</code> or <code class="literal">-pthreads</code></td><td align="left">For ISO C++0x <thread>, <future>,
|
</p><div class="table"><a id="id628424"></a><p class="title"><b>Table 3.1. C++ Command Options</b></p><div class="table-contents"><table summary="C++ Command Options" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Option Flags</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="literal">-std=c++98</code></td><td align="left">Use the 1998 ISO C++ standard plus amendments.</td></tr><tr><td align="left"><code class="literal">-std=gnu++98</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-std=c++0x</code></td><td align="left">Use the working draft of the upcoming ISO C++0x standard.</td></tr><tr><td align="left"><code class="literal">-std=gnu++0x</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-fexceptions</code></td><td align="left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td align="left"><code class="literal">-frtti</code></td><td align="left">As above, but RTTI-free dialect.</td></tr><tr><td align="left"><code class="literal">-pthread</code> or <code class="literal">-pthreads</code></td><td align="left">For ISO C++0x <thread>, <future>,
|
||||||
<mutex>, or <condition_variable>.</td></tr><tr><td align="left"><code class="literal">-fopenmp</code></td><td align="left">For <a class="link" href="parallel_mode.html" title="Chapter 18. Parallel Mode">parallel</a> mode.</td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Make </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Headers</td></tr></table></div></body></html>
|
<mutex>, or <condition_variable>.</td></tr><tr><td align="left"><code class="literal">-fopenmp</code></td><td align="left">For <a class="link" href="parallel_mode.html" title="Chapter 18. Parallel Mode">parallel</a> mode.</td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Make </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Headers</td></tr></table></div></body></html>
|
||||||
|
@ -266,7 +266,7 @@ is called.
|
|||||||
}
|
}
|
||||||
catch(...)
|
catch(...)
|
||||||
{ this->_M_setstate(ios_base::badbit); }
|
{ this->_M_setstate(ios_base::badbit); }
|
||||||
</pre></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="using.exceptions.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id557334"></a><p><span class="biblioid">
|
</pre></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="using.exceptions.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id579259"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.opengroup.org/austin" target="_top">
|
<a class="ulink" href="http://www.opengroup.org/austin" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
|
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
|
||||||
@ -277,7 +277,7 @@ is called.
|
|||||||
. </span><span class="copyright">Copyright © 2008
|
. </span><span class="copyright">Copyright © 2008
|
||||||
The Open Group/The Institute of Electrical and Electronics
|
The Open Group/The Institute of Electrical and Electronics
|
||||||
Engineers, Inc.
|
Engineers, Inc.
|
||||||
. </span></p></div><div class="biblioentry"><a id="id564741"></a><p><span class="biblioid">
|
. </span></p></div><div class="biblioentry"><a id="id577384"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.boost.org/community/error_handling.html" target="_top">
|
<a class="ulink" href="http://www.boost.org/community/error_handling.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Error and Exception Handling
|
Error and Exception Handling
|
||||||
@ -285,7 +285,7 @@ is called.
|
|||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams </span>. </span><span class="publisher"><span class="publishername">
|
. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams </span>. </span><span class="publisher"><span class="publishername">
|
||||||
Boost
|
Boost
|
||||||
. </span></span></p></div><div class="biblioentry"><a id="id549572"></a><p><span class="biblioid">
|
. </span></span></p></div><div class="biblioentry"><a id="id581075"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.boost.org/community/exception_safety.html" target="_top">
|
<a class="ulink" href="http://www.boost.org/community/exception_safety.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Exception-Safety in Generic Components
|
Exception-Safety in Generic Components
|
||||||
@ -293,7 +293,7 @@ is called.
|
|||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams</span>. </span><span class="publisher"><span class="publishername">
|
. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams</span>. </span><span class="publisher"><span class="publishername">
|
||||||
Boost
|
Boost
|
||||||
. </span></span></p></div><div class="biblioentry"><a id="id534395"></a><p><span class="biblioid">
|
. </span></span></p></div><div class="biblioentry"><a id="id649580"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.pdf" target="_top">
|
<a class="ulink" href="www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.pdf" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Standard Library Exception Policy
|
Standard Library Exception Policy
|
||||||
@ -301,7 +301,7 @@ is called.
|
|||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
|
. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
|
||||||
WG21 N1077
|
WG21 N1077
|
||||||
. </span></span></p></div><div class="biblioentry"><a id="id621209"></a><p><span class="biblioid">
|
. </span></span></p></div><div class="biblioentry"><a id="id585024"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://gcc.gnu.org/ml/gcc-patches/2001-03/msg00661.html" target="_top">
|
<a class="ulink" href="http://gcc.gnu.org/ml/gcc-patches/2001-03/msg00661.html" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
ia64 c++ abi exception handling
|
ia64 c++ abi exception handling
|
||||||
@ -309,17 +309,17 @@ is called.
|
|||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">Richard</span> <span class="surname">Henderson</span>. </span><span class="publisher"><span class="publishername">
|
. </span><span class="author"><span class="firstname">Richard</span> <span class="surname">Henderson</span>. </span><span class="publisher"><span class="publishername">
|
||||||
GNU
|
GNU
|
||||||
. </span></span></p></div><div class="biblioentry"><a id="id555169"></a><p><span class="biblioid">
|
. </span></span></p></div><div class="biblioentry"><a id="id587716"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://www.research.att.com/~bs/3rd_safe.pdf" target="_top">
|
<a class="ulink" href="http://www.research.att.com/~bs/3rd_safe.pdf" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
Appendix E: Standard-Library Exception Safety
|
Appendix E: Standard-Library Exception Safety
|
||||||
</em>
|
</em>
|
||||||
</a>
|
</a>
|
||||||
. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span></p></div><div class="biblioentry" title="Exceptional C++"><a id="id540372"></a><p><span class="title"><i>
|
. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span></p></div><div class="biblioentry" title="Exceptional C++"><a id="id598203"></a><p><span class="title"><i>
|
||||||
Exceptional C++
|
Exceptional C++
|
||||||
</i>. </span><span class="pagenums">
|
</i>. </span><span class="pagenums">
|
||||||
Exception-Safety Issues and Techniques
|
Exception-Safety Issues and Techniques
|
||||||
. </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry"><a id="id546269"></a><p><span class="biblioid">
|
. </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry"><a id="id593412"></a><p><span class="biblioid">
|
||||||
<a class="ulink" href="http://gcc.gnu.org/PR25191" target="_top">
|
<a class="ulink" href="http://gcc.gnu.org/PR25191" target="_top">
|
||||||
<em class="citetitle">
|
<em class="citetitle">
|
||||||
GCC Bug 25191: exception_defines.h #defines try/catch
|
GCC Bug 25191: exception_defines.h #defines try/catch
|
||||||
|
File diff suppressed because one or more lines are too long
@ -7,7 +7,7 @@
|
|||||||
Standard Contents
|
Standard Contents
|
||||||
</th><td width="20%" align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 6. Utilities"><div class="titlepage"><div><div><h2 class="title"><a id="std.util"></a>Chapter 6.
|
</th><td width="20%" align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 6. Utilities"><div class="titlepage"><div><div><h2 class="title"><a id="std.util"></a>Chapter 6.
|
||||||
Utilities
|
Utilities
|
||||||
<a id="id533234" class="indexterm"></a>
|
<a id="id590712" class="indexterm"></a>
|
||||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></div><div class="section" title="Functors"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.functors"></a>Functors</h2></div></div></div><p>If you don't know what functors are, you're not alone. Many people
|
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></div><div class="section" title="Functors"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.functors"></a>Functors</h2></div></div></div><p>If you don't know what functors are, you're not alone. Many people
|
||||||
get slightly the wrong idea. In the interest of not reinventing
|
get slightly the wrong idea. In the interest of not reinventing
|
||||||
the wheel, we will refer you to the introduction to the functor
|
the wheel, we will refer you to the introduction to the functor
|
||||||
|
@ -2264,7 +2264,7 @@ particular release.
|
|||||||
<entry>30.4.1.1</entry>
|
<entry>30.4.1.1</entry>
|
||||||
<entry>Class <code>mutex</code></entry>
|
<entry>Class <code>mutex</code></entry>
|
||||||
<entry>Y</entry>
|
<entry>Y</entry>
|
||||||
<entry></entry>
|
<entry>Missing constexpr</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>30.4.1.2</entry>
|
<entry>30.4.1.2</entry>
|
||||||
@ -2339,10 +2339,11 @@ particular release.
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
|
<?dbhtml bgcolor="#B0B0B0" ?>
|
||||||
<entry>30.5.1</entry>
|
<entry>30.5.1</entry>
|
||||||
<entry>Class <code>condition_variable</code></entry>
|
<entry>Class <code>condition_variable</code></entry>
|
||||||
<entry>Y</entry>
|
<entry>Partial</entry>
|
||||||
<entry></entry>
|
<entry>Missing notify_all_at_thread_exit</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>30.5.2</entry>
|
<entry>30.5.2</entry>
|
||||||
@ -2385,19 +2386,21 @@ particular release.
|
|||||||
<entry>30.6.5</entry>
|
<entry>30.6.5</entry>
|
||||||
<entry>Class template <code>promise</code></entry>
|
<entry>Class template <code>promise</code></entry>
|
||||||
<entry>Partial</entry>
|
<entry>Partial</entry>
|
||||||
<entry>Missing <code>allocator_arg_t</code></entry>
|
<entry>Missing <code>allocator_arg_t</code> and set_*_at_thread_exit</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
|
<?dbhtml bgcolor="#B0B0B0" ?>
|
||||||
<entry>30.6.6</entry>
|
<entry>30.6.6</entry>
|
||||||
<entry>Class template <code>future</code></entry>
|
<entry>Class template <code>future</code></entry>
|
||||||
<entry>Y</entry>
|
<entry>Partial</entry>
|
||||||
<entry></entry>
|
<entry>Missing future_status</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
|
<?dbhtml bgcolor="#B0B0B0" ?>
|
||||||
<entry>30.6.7</entry>
|
<entry>30.6.7</entry>
|
||||||
<entry>Class template <code>shared_future</code></entry>
|
<entry>Class template <code>shared_future</code></entry>
|
||||||
<entry>Y</entry>
|
<entry>Partial</entry>
|
||||||
<entry></entry>
|
<entry>Missing future_status</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<?dbhtml bgcolor="#C8B0B0" ?>
|
<?dbhtml bgcolor="#C8B0B0" ?>
|
||||||
@ -2417,7 +2420,7 @@ particular release.
|
|||||||
<entry>30.6.10</entry>
|
<entry>30.6.10</entry>
|
||||||
<entry>Class template <code>packaged_task</code></entry>
|
<entry>Class template <code>packaged_task</code></entry>
|
||||||
<entry>Partial</entry>
|
<entry>Partial</entry>
|
||||||
<entry>Missing <code>allocator_arg_t</code></entry>
|
<entry>Missing <code>allocator_arg_t</code> and make_ready_at_thread_exit</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>
|
<entry>
|
||||||
|
Loading…
Reference in New Issue
Block a user