1 <?xml version=
"1.0" encoding=
"UTF-8" standalone=
"no"?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml"><head><title>The GNU C++ Library
</title><meta name=
"generator" content=
"DocBook XSL-NS Stylesheets V1.76.1"/><link rel=
"home" href=
"spine.html" title=
"The GNU C++ Library"/><link rel=
"next" href=
"manual/spine.html" title=
"The GNU C++ Library Manual"/></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 align=
"left"> </td><th width=
"60%" align=
"center"> </th><td align=
"right"> <a accesskey=
"n" href=
"manual/spine.html">Next
</a></td></tr></table><hr/></div><div class=
"set" title=
"The GNU C++ Library" xml:
lang=
"en"><div class=
"titlepage"><div><div><h1 class=
"title"><a id=
"set-index"/>The GNU C++ Library
</h1></div><div><div class=
"authorgroup"><div class=
"author"><h3 class=
"author"><span class=
"firstname"/> <span class=
"surname"/></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Paolo
</span> <span class=
"surname">Carlini
</span></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Phil
</span> <span class=
"surname">Edwards
</span></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Doug
</span> <span class=
"surname">Gregor
</span></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Benjamin
</span> <span class=
"surname">Kosnik
</span></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Dhruv
</span> <span class=
"surname">Matani
</span></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Jason
</span> <span class=
"surname">Merrill
</span></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Mark
</span> <span class=
"surname">Mitchell
</span></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Nathan
</span> <span class=
"surname">Myers
</span></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Felix
</span> <span class=
"surname">Natter
</span></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Stefan
</span> <span class=
"surname">Olsson
</span></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Silvius
</span> <span class=
"surname">Rus
</span></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Johannes
</span> <span class=
"surname">Singler
</span></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Ami
</span> <span class=
"surname">Tavory
</span></h3></div><div class=
"author"><h3 class=
"author"><span class=
"firstname">Jonathan
</span> <span class=
"surname">Wakely
</span></h3></div></div></div><div><p class=
"copyright">Copyright ©
2000,
2001,
2002,
2003,
2004,
2005,
2006,
2007,
2008,
2009,
2010
4 <a class=
"link" href=
"http://www.fsf.org">FSF
</a>
5 </p></div></div><hr/></div><div class=
"toc"><p><strong>Table of Contents
</strong></p><dl><dt><span class=
"book"><a href=
"manual/spine.html">The GNU C++ Library Manual
</a></span></dt><dd><dl><dt><span class=
"part"><a href=
"manual/intro.html">I.
8 </a></span></dt><dd><dl><dt><span class=
"chapter"><a href=
"manual/status.html">1. Status
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/status.html#manual.intro.status.iso">Implementation Status
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/status.html#status.iso.1998">C++
1998/
2003</a></span></dt><dt><span class=
"section"><a href=
"manual/status.html#status.iso.200x">C++
200x
</a></span></dt><dt><span class=
"section"><a href=
"manual/status.html#status.iso.tr1">C++ TR1
</a></span></dt><dt><span class=
"section"><a href=
"manual/status.html#status.iso.tr24733">C++ TR
24733</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/license.html">License
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/license.html#manual.intro.status.license.gpl">The Code: GPL
</a></span></dt><dt><span class=
"section"><a href=
"manual/license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/bugs.html">Bugs
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/bugs.html#manual.intro.status.bugs.impl">Implementation Bugs
</a></span></dt><dt><span class=
"section"><a href=
"manual/bugs.html#manual.intro.status.bugs.iso">Standard Bugs
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"manual/setup.html">2. Setup
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/setup.html#manual.intro.setup.prereq">Prerequisites
</a></span></dt><dt><span class=
"section"><a href=
"manual/configure.html">Configure
</a></span></dt><dt><span class=
"section"><a href=
"manual/make.html">Make
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"manual/using.html">3. Using
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/using.html#manual.intro.using.flags">Command Options
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_headers.html">Headers
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/using_headers.html#manual.intro.using.headers.all">Header Files
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_headers.html#manual.intro.using.headers.mixing">Mixing Headers
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_headers.html#manual.intro.using.headers.cheaders">The C Headers and
<code class=
"code">namespace std
</code></a></span></dt><dt><span class=
"section"><a href=
"manual/using_headers.html#manual.intro.using.headers.pre">Precompiled Headers
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/using_macros.html">Macros
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_namespaces.html">Namespaces
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_namespaces.html#manual.intro.using.namespaces.std">namespace std
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/using_dynamic_or_shared.html">Linking
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/using_concurrency.html">Concurrency
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_concurrency.html#manual.intro.using.concurrency.io">IO
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_concurrency.html#manual.intro.using.concurrency.containers">Containers
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/using_exceptions.html">Exceptions
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/using_exceptions.html#intro.using.exception.safety">Exception Safety
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_exceptions.html#intro.using.exception.propagating">Exception Neutrality
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_exceptions.html#intro.using.exception.no">Doing without
</a></span></dt><dt><span class=
"section"><a href=
"manual/using_exceptions.html#intro.using.exception.compat">Compatibility
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/debug.html">Debugging Support
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/debug.html#debug.compiler">Using
<span class=
"command"><strong>g++
</strong></span></a></span></dt><dt><span class=
"section"><a href=
"manual/debug.html#debug.req">Debug Versions of Library Binary Files
</a></span></dt><dt><span class=
"section"><a href=
"manual/debug.html#debug.memory">Memory Leak Hunting
</a></span></dt><dt><span class=
"section"><a href=
"manual/debug.html#debug.races">Data Race Hunting
</a></span></dt><dt><span class=
"section"><a href=
"manual/debug.html#debug.gdb">Using
<span class=
"command"><strong>gdb
</strong></span></a></span></dt><dt><span class=
"section"><a href=
"manual/debug.html#debug.exceptions">Tracking uncaught exceptions
</a></span></dt><dt><span class=
"section"><a href=
"manual/debug.html#debug.debug_mode">Debug Mode
</a></span></dt><dt><span class=
"section"><a href=
"manual/debug.html#debug.compile_time_checks">Compile Time Checking
</a></span></dt><dt><span class=
"section"><a href=
"manual/debug.html#debug.profile_mode">Profile-based Performance Analysis
</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"part"><a href=
"manual/bk01pt02.html">II.
10 </a></span></dt><dd><dl><dt><span class=
"chapter"><a href=
"manual/support.html">4.
13 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/support.html#std.support.types">Types
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/support.html#std.support.types.fundamental">Fundamental Types
</a></span></dt><dt><span class=
"section"><a href=
"manual/support.html#std.support.types.numeric_limits">Numeric Properties
</a></span></dt><dt><span class=
"section"><a href=
"manual/support.html#std.support.types.null">NULL
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/dynamic_memory.html">Dynamic Memory
</a></span></dt><dt><span class=
"section"><a href=
"manual/termination.html">Termination
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/termination.html#support.termination.handlers">Termination Handlers
</a></span></dt><dt><span class=
"section"><a href=
"manual/termination.html#support.termination.verbose">Verbose Terminate Handler
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"manual/diagnostics.html">5.
16 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/diagnostics.html#std.diagnostics.exceptions">Exceptions
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/diagnostics.html#std.diagnostics.exceptions.api">API Reference
</a></span></dt><dt><span class=
"section"><a href=
"manual/diagnostics.html#std.diagnostics.exceptions.data">Adding Data to
<code class=
"classname">exception
</code></a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/bk01pt02ch05s02.html">Concept Checking
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"manual/utilities.html">6.
19 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/utilities.html#std.util.functors">Functors
</a></span></dt><dt><span class=
"section"><a href=
"manual/pairs.html">Pairs
</a></span></dt><dt><span class=
"section"><a href=
"manual/memory.html">Memory
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/memory.html#std.util.memory.allocator">Allocators
</a></span></dt><dt><span class=
"section"><a href=
"manual/memory.html#std.util.memory.auto_ptr">auto_ptr
</a></span></dt><dt><span class=
"section"><a href=
"manual/memory.html#std.util.memory.shared_ptr">shared_ptr
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/traits.html">Traits
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"manual/strings.html">7.
22 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/strings.html#std.strings.string">String Classes
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/strings.html#strings.string.simple">Simple Transformations
</a></span></dt><dt><span class=
"section"><a href=
"manual/strings.html#strings.string.case">Case Sensitivity
</a></span></dt><dt><span class=
"section"><a href=
"manual/strings.html#strings.string.character_types">Arbitrary Character Types
</a></span></dt><dt><span class=
"section"><a href=
"manual/strings.html#strings.string.token">Tokenizing
</a></span></dt><dt><span class=
"section"><a href=
"manual/strings.html#strings.string.shrink">Shrink to Fit
</a></span></dt><dt><span class=
"section"><a href=
"manual/strings.html#strings.string.Cstring">CString (MFC)
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"manual/localization.html">8.
25 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/localization.html#std.localization.locales">Locales
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/localization.html#std.localization.locales.locale">locale
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/facets.html">Facets
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/facets.html#std.localization.facet.ctype">ctype
</a></span></dt><dt><span class=
"section"><a href=
"manual/facets.html#std.localization.facet.codecvt">codecvt
</a></span></dt><dt><span class=
"section"><a href=
"manual/facets.html#manual.localization.facet.messages">messages
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"manual/containers.html">9.
28 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/containers.html#std.containers.sequences">Sequences
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/containers.html#containers.sequences.list">list
</a></span></dt><dt><span class=
"section"><a href=
"manual/containers.html#containers.sequences.vector">vector
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/associative.html">Associative
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/associative.html#containers.associative.insert_hints">Insertion Hints
</a></span></dt><dt><span class=
"section"><a href=
"manual/associative.html#containers.associative.bitset">bitset
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/containers_and_c.html">Interacting with C
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/containers_and_c.html#containers.c.vs_array">Containers vs. Arrays
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"manual/iterators.html">10.
31 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/iterators.html#std.iterators.predefined">Predefined
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/iterators.html#iterators.predefined.vs_pointers">Iterators vs. Pointers
</a></span></dt><dt><span class=
"section"><a href=
"manual/iterators.html#iterators.predefined.end">One Past the End
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"manual/algorithms.html">11.
34 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/algorithms.html#std.algorithms.mutating">Mutating
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/algorithms.html#algorithms.mutating.swap"><code class=
"function">swap
</code></a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"manual/numerics.html">12.
37 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/numerics.html#std.numerics.complex">Complex
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/numerics.html#numerics.complex.processing">complex Processing
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/generalized_numeric_operations.html">Generalized Operations
</a></span></dt><dt><span class=
"section"><a href=
"manual/numerics_and_c.html">Interacting with C
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/numerics_and_c.html#numerics.c.array">Numerics vs. Arrays
</a></span></dt><dt><span class=
"section"><a href=
"manual/numerics_and_c.html#numerics.c.c99">C99
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"manual/io.html">13.
40 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/io.html#std.io.objects">Iostream Objects
</a></span></dt><dt><span class=
"section"><a href=
"manual/streambufs.html">Stream Buffers
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/streambufs.html#io.streambuf.derived">Derived streambuf Classes
</a></span></dt><dt><span class=
"section"><a href=
"manual/streambufs.html#io.streambuf.buffering">Buffering
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/stringstreams.html">Memory Based Streams
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/stringstreams.html#std.io.memstreams.compat">Compatibility With strstream
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/fstreams.html">File Based Streams
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/fstreams.html#std.io.filestreams.copying_a_file">Copying a File
</a></span></dt><dt><span class=
"section"><a href=
"manual/fstreams.html#std.io.filestreams.binary">Binary Input and Output
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/io_and_c.html">Interacting with C
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/io_and_c.html#std.io.c.FILE">Using FILE* and file descriptors
</a></span></dt><dt><span class=
"section"><a href=
"manual/io_and_c.html#std.io.c.sync">Performance
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"manual/atomics.html">14.
43 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/atomics.html#std.atomics.api">API Reference
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"manual/concurrency.html">15.
46 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/concurrency.html#std.concurrency.api">API Reference
</a></span></dt></dl></dd></dl></dd><dt><span class=
"part"><a href=
"manual/extensions.html">III.
49 </a></span></dt><dd><dl><dt><span class=
"preface"><a href=
"manual/bk01pt03pr01.html"/></span></dt><dt><span class=
"chapter"><a href=
"manual/ext_compile_checks.html">16. Compile Time Checks
</a></span></dt><dt><span class=
"chapter"><a href=
"manual/debug_mode.html">17. Debug Mode
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/debug_mode.html#manual.ext.debug_mode.intro">Intro
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch17s02.html">Semantics
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch17s03.html">Using
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/bk01pt03ch17s04.html">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/bk01pt03ch17s04.html#debug_mode.design.goals">Goals
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch17s04.html#debug_mode.design.methods">Methods
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch17s04.html#debug_mode.design.other">Other Implementations
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"manual/parallel_mode.html">18. Parallel Mode
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/parallel_mode.html#manual.ext.parallel_mode.intro">Intro
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch18s02.html">Semantics
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch18s03.html">Using
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/bk01pt03ch18s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch18s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch18s03.html#parallel_mode.using.specific">Using Specific Parallel Components
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/bk01pt03ch18s04.html">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/bk01pt03ch18s04.html#parallel_mode.design.intro">Interface Basics
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch18s04.html#parallel_mode.design.tuning">Configuration and Tuning
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch18s04.html#parallel_mode.design.impl">Implementation Namespaces
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/bk01pt03ch18s05.html">Testing
</a></span></dt><dt><span class=
"bibliography"><a href=
"manual/parallel_mode.html#parallel_mode.biblio">Bibliography
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"manual/profile_mode.html">19. Profile Mode
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/profile_mode.html#manual.ext.profile_mode.intro">Intro
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode
</a></span></dt><dt><span class=
"section"><a href=
"manual/profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s02.html">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.cost-model">Cost Model
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.reports">Reports
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s02.html#manual.ext.profile_mode.design.testing">Testing
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s03.html">Extensions for Custom Containers
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s04.html">Empirical Cost Model
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s05.html">Implementation Issues
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s06.html">Developer Information
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s07.html">Diagnostics
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers">Containers
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.statistics">Statistics
</a></span></dt></dl></dd><dt><span class=
"bibliography"><a href=
"manual/profile_mode.html#profile_mode.biblio">Bibliography
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"manual/ext_allocators.html">20. Allocators
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/ext_allocators.html#manual.ext.allocator.mt">mt_allocator
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/ext_allocators.html#allocator.mt.intro">Intro
</a></span></dt><dt><span class=
"section"><a href=
"manual/ext_allocators.html#allocator.mt.design_issues">Design Issues
</a></span></dt><dt><span class=
"section"><a href=
"manual/ext_allocators.html#allocator.mt.impl">Implementation
</a></span></dt><dt><span class=
"section"><a href=
"manual/ext_allocators.html#allocator.mt.example_single">Single Thread Example
</a></span></dt><dt><span class=
"section"><a href=
"manual/ext_allocators.html#allocator.mt.example_multi">Multiple Thread Example
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/bitmap_allocator.html">bitmap_allocator
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/bitmap_allocator.html#allocator.bitmap.design">Design
</a></span></dt><dt><span class=
"section"><a href=
"manual/bitmap_allocator.html#allocator.bitmap.impl">Implementation
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"manual/ext_containers.html">21. Containers
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/ext_containers.html#manual.ext.containers.pbds">Policy Based Data Structures
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch21s02.html">HP/SGI
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch21s03.html">Deprecated HP/SGI
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"manual/ext_utilities.html">22. Utilities
</a></span></dt><dt><span class=
"chapter"><a href=
"manual/ext_algorithms.html">23. Algorithms
</a></span></dt><dt><span class=
"chapter"><a href=
"manual/ext_numerics.html">24. Numerics
</a></span></dt><dt><span class=
"chapter"><a href=
"manual/ext_iterators.html">25. Iterators
</a></span></dt><dt><span class=
"chapter"><a href=
"manual/ext_io.html">26. Input and Output
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"manual/ext_demangling.html">27. Demangling
</a></span></dt><dt><span class=
"chapter"><a href=
"manual/ext_concurrency.html">28. Concurrency
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/ext_concurrency.html#manual.ext.concurrency.design">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes
</a></span></dt><dt><span class=
"section"><a href=
"manual/ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/bk01pt03ch28s02.html">Implementation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/bk01pt03ch28s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions
</a></span></dt><dt><span class=
"section"><a href=
"manual/bk01pt03ch28s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/bk01pt03ch28s03.html">Use
</a></span></dt></dl></dd></dl></dd><dt><span class=
"part"><a href=
"manual/bk01pt04.html">IV.
51 </a></span></dt><dd><dl><dt><span class=
"appendix"><a href=
"manual/appendix_contributing.html">A.
54 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/appendix_contributing.html#contrib.list">Contributor Checklist
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/appendix_contributing.html#list.reading">Reading
</a></span></dt><dt><span class=
"section"><a href=
"manual/appendix_contributing.html#list.copyright">Assignment
</a></span></dt><dt><span class=
"section"><a href=
"manual/appendix_contributing.html#list.getting">Getting Sources
</a></span></dt><dt><span class=
"section"><a href=
"manual/appendix_contributing.html#list.patches">Submitting Patches
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/source_organization.html">Directory Layout and Source Conventions
</a></span></dt><dt><span class=
"section"><a href=
"manual/source_code_style.html">Coding Style
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/source_code_style.html#coding_style.bad_identifiers">Bad Identifiers
</a></span></dt><dt><span class=
"section"><a href=
"manual/source_code_style.html#coding_style.example">By Example
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/source_design_notes.html">Design Notes
</a></span></dt></dl></dd><dt><span class=
"appendix"><a href=
"manual/appendix_porting.html">B.
55 Porting and Maintenance
57 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/appendix_porting.html#build_hacking.prereq">Prerequisites
</a></span></dt><dt><span class=
"section"><a href=
"manual/appendix_porting.html#build_hacking.map">Overview: What Comes from Where
</a></span></dt><dt><span class=
"section"><a href=
"manual/appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)
</a></span></dt><dt><span class=
"section"><a href=
"manual/appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions
</a></span></dt><dt><span class=
"section"><a href=
"manual/appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout
</a></span></dt><dt><span class=
"section"><a href=
"manual/appendix_porting.html#build_hacking.enable"><code class=
"constant">GLIBCXX_ENABLE
</code>, the
<code class=
"literal">--enable
</code> maker
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/documentation_hacking.html">Writing and Generating Documentation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/documentation_hacking.html#doc.intro">Introduction
</a></span></dt><dt><span class=
"section"><a href=
"manual/documentation_hacking.html#doc.generation">Generating Documentation
</a></span></dt><dt><span class=
"section"><a href=
"manual/documentation_hacking.html#doc.doxygen">Doxygen
</a></span></dt><dt><span class=
"section"><a href=
"manual/documentation_hacking.html#doc.docbook">Docbook
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/internals.html">Porting to New Hardware or Operating Systems
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/internals.html#internals.os">Operating System
</a></span></dt><dt><span class=
"section"><a href=
"manual/internals.html#internals.cpu">CPU
</a></span></dt><dt><span class=
"section"><a href=
"manual/internals.html#internals.char_types">Character Types
</a></span></dt><dt><span class=
"section"><a href=
"manual/internals.html#internals.thread_safety">Thread Safety
</a></span></dt><dt><span class=
"section"><a href=
"manual/internals.html#internals.numeric_limits">Numeric Limits
</a></span></dt><dt><span class=
"section"><a href=
"manual/internals.html#internals.libtool">Libtool
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/test.html">Test
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/test.html#test.organization">Organization
</a></span></dt><dt><span class=
"section"><a href=
"manual/test.html#test.run">Running the Testsuite
</a></span></dt><dt><span class=
"section"><a href=
"manual/test.html#test.new_tests">Writing a new test case
</a></span></dt><dt><span class=
"section"><a href=
"manual/test.html#test.harness">Test Harness and Utilities
</a></span></dt><dt><span class=
"section"><a href=
"manual/test.html#test.special">Special Topics
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/abi.html">ABI Policy and Guidelines
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/abi.html#abi.cxx_interface">The C++ Interface
</a></span></dt><dt><span class=
"section"><a href=
"manual/abi.html#abi.versioning">Versioning
</a></span></dt><dt><span class=
"section"><a href=
"manual/abi.html#abi.changes_allowed">Allowed Changes
</a></span></dt><dt><span class=
"section"><a href=
"manual/abi.html#abi.changes_no">Prohibited Changes
</a></span></dt><dt><span class=
"section"><a href=
"manual/abi.html#abi.impl">Implementation
</a></span></dt><dt><span class=
"section"><a href=
"manual/abi.html#abi.testing">Testing
</a></span></dt><dt><span class=
"section"><a href=
"manual/abi.html#abi.issues">Outstanding Issues
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/api.html">API Evolution and Deprecation History
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/api.html#api.rel_300"><code class=
"constant">3.0</code></a></span></dt><dt><span class=
"section"><a href=
"manual/api.html#api.rel_310"><code class=
"constant">3.1</code></a></span></dt><dt><span class=
"section"><a href=
"manual/api.html#api.rel_320"><code class=
"constant">3.2</code></a></span></dt><dt><span class=
"section"><a href=
"manual/api.html#api.rel_330"><code class=
"constant">3.3</code></a></span></dt><dt><span class=
"section"><a href=
"manual/api.html#api.rel_340"><code class=
"constant">3.4</code></a></span></dt><dt><span class=
"section"><a href=
"manual/api.html#api.rel_400"><code class=
"constant">4.0</code></a></span></dt><dt><span class=
"section"><a href=
"manual/api.html#api.rel_410"><code class=
"constant">4.1</code></a></span></dt><dt><span class=
"section"><a href=
"manual/api.html#api.rel_420"><code class=
"constant">4.2</code></a></span></dt><dt><span class=
"section"><a href=
"manual/api.html#api.rel_430"><code class=
"constant">4.3</code></a></span></dt><dt><span class=
"section"><a href=
"manual/api.html#api.rel_440"><code class=
"constant">4.4</code></a></span></dt><dt><span class=
"section"><a href=
"manual/api.html#api.rel_450"><code class=
"constant">4.5</code></a></span></dt></dl></dd><dt><span class=
"section"><a href=
"manual/backwards.html">Backwards Compatibility
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"manual/backwards.html#backwards.first">First
</a></span></dt><dt><span class=
"section"><a href=
"manual/backwards.html#backwards.second">Second
</a></span></dt><dt><span class=
"section"><a href=
"manual/backwards.html#backwards.third">Third
</a></span></dt></dl></dd></dl></dd><dt><span class=
"appendix"><a href=
"manual/appendix_free.html">C.
58 Free Software Needs Free Documentation
60 </a></span></dt><dt><span class=
"appendix"><a href=
"manual/appendix_gpl.html">D.
61 <acronym class=
"acronym">GNU
</acronym> General Public License version
3
62 </a></span></dt><dt><span class=
"appendix"><a href=
"manual/appendix_gfdl.html">E. GNU Free Documentation License
</a></span></dt></dl></dd></dl></dd><dt><span class=
"book"><a href=
"bk02.html"/></span></dt><dd><dl><dt><span class=
"article"><a href=
"api.html">The GNU C++ Library API Reference
</a></span></dt></dl></dd><dt><span class=
"book"><a href=
"bk03.html"/></span></dt><dd><dl><dt><span class=
"article"><a href=
"faq.html">Frequently Asked Questions
</a></span></dt></dl></dd></dl></div></div><div class=
"navfooter"><hr/><table width=
"100%" summary=
"Navigation footer"><tr><td align=
"left"> </td><td align=
"center"> </td><td align=
"right"> <a accesskey=
"n" href=
"manual/spine.html">Next
</a></td></tr><tr><td align=
"left" valign=
"top"> </td><td align=
"center"> </td><td align=
"right" valign=
"top"> The GNU C++ Library Manual
</td></tr></table></div></body></html>