1 <?xml version=
"1.0" encoding=
"UTF-8" standalone=
"no"?>
2 <!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 Manual
</title><meta name=
"generator" content=
"DocBook XSL-NS Stylesheets V1.78.1" /><meta name=
"keywords" content=
"ISO C++, runtime, library" /><link rel=
"home" href=
"../index.html" title=
"The GNU C++ Library" /><link rel=
"up" href=
"../index.html" title=
"The GNU C++ Library" /><link rel=
"prev" href=
"../index.html" title=
"The GNU C++ Library" /><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 Manual
</th></tr><tr><td width=
"20%" align=
"left"><a accesskey=
"p" href=
"../index.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"><div class=
"titlepage"><div><div><h1 class=
"title"><a id=
"manual"></a>The GNU C++ Library Manual
</h1></div><div><div class=
"authorgroup"><div class=
"author"><h3 class=
"author"><span class=
"firstname"></span> <span class=
"surname"></span></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,
2011,
2012,
2013
3 <a class=
"link" href=
"http://www.fsf.org" target=
"_top">FSF
</a>
4 </p></div></div><hr /></div><div class=
"toc"><p><strong>Table of Contents
</strong></p><dl class=
"toc"><dt><span class=
"part"><a href=
"intro.html">I.
7 </a></span></dt><dd><dl><dt><span class=
"chapter"><a href=
"status.html">1. Status
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"status.html#manual.intro.status.iso">Implementation Status
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"status.html#status.iso.1998">C++
1998/
2003</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"status.html#iso.1998.status">Implementation Status
</a></span></dt><dt><span class=
"section"><a href=
"status.html#iso.1998.specific">Implementation Specific Behavior
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"status.html#status.iso.2011">C++
2011</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"status.html#iso.2011.specific">Implementation Specific Behavior
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"status.html#status.iso.tr1">C++ TR1
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"status.html#iso.tr1.specific">Implementation Specific Behavior
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"status.html#status.iso.tr24733">C++ TR
24733</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"license.html">License
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"license.html#manual.intro.status.license.gpl">The Code: GPL
</a></span></dt><dt><span class=
"section"><a href=
"license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"bugs.html">Bugs
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"bugs.html#manual.intro.status.bugs.impl">Implementation Bugs
</a></span></dt><dt><span class=
"section"><a href=
"bugs.html#manual.intro.status.bugs.iso">Standard Bugs
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"setup.html">2. Setup
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"setup.html#manual.intro.setup.prereq">Prerequisites
</a></span></dt><dt><span class=
"section"><a href=
"configure.html">Configure
</a></span></dt><dt><span class=
"section"><a href=
"make.html">Make
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"using.html">3. Using
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"using.html#manual.intro.using.flags">Command Options
</a></span></dt><dt><span class=
"section"><a href=
"using_headers.html">Headers
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"using_headers.html#manual.intro.using.headers.all">Header Files
</a></span></dt><dt><span class=
"section"><a href=
"using_headers.html#manual.intro.using.headers.mixing">Mixing Headers
</a></span></dt><dt><span class=
"section"><a href=
"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=
"using_headers.html#manual.intro.using.headers.pre">Precompiled Headers
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"using_macros.html">Macros
</a></span></dt><dt><span class=
"section"><a href=
"using_namespaces.html">Namespaces
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces
</a></span></dt><dt><span class=
"section"><a href=
"using_namespaces.html#manual.intro.using.namespaces.std">namespace std
</a></span></dt><dt><span class=
"section"><a href=
"using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"using_dynamic_or_shared.html">Linking
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing
</a></span></dt><dt><span class=
"section"><a href=
"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=
"using_concurrency.html">Concurrency
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites
</a></span></dt><dt><span class=
"section"><a href=
"using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety
</a></span></dt><dt><span class=
"section"><a href=
"using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics
</a></span></dt><dt><span class=
"section"><a href=
"using_concurrency.html#manual.intro.using.concurrency.io">IO
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"using_concurrency.html#concurrency.io.structure">Structure
</a></span></dt><dt><span class=
"section"><a href=
"using_concurrency.html#concurrency.io.defaults">Defaults
</a></span></dt><dt><span class=
"section"><a href=
"using_concurrency.html#concurrency.io.future">Future
</a></span></dt><dt><span class=
"section"><a href=
"using_concurrency.html#concurrency.io.alt">Alternatives
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"using_concurrency.html#manual.intro.using.concurrency.containers">Containers
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"using_exceptions.html">Exceptions
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"using_exceptions.html#intro.using.exception.safety">Exception Safety
</a></span></dt><dt><span class=
"section"><a href=
"using_exceptions.html#intro.using.exception.propagating">Exception Neutrality
</a></span></dt><dt><span class=
"section"><a href=
"using_exceptions.html#intro.using.exception.no">Doing without
</a></span></dt><dt><span class=
"section"><a href=
"using_exceptions.html#intro.using.exception.compat">Compatibility
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"using_exceptions.html#using.exception.compat.c">With
<code class=
"literal">C
</code></a></span></dt><dt><span class=
"section"><a href=
"using_exceptions.html#using.exception.compat.posix">With
<code class=
"literal">POSIX
</code> thread cancellation
</a></span></dt></dl></dd></dl></dd><dt><span class=
"section"><a href=
"debug.html">Debugging Support
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"debug.html#debug.compiler">Using
<span class=
"command"><strong>g++
</strong></span></a></span></dt><dt><span class=
"section"><a href=
"debug.html#debug.req">Debug Versions of Library Binary Files
</a></span></dt><dt><span class=
"section"><a href=
"debug.html#debug.memory">Memory Leak Hunting
</a></span></dt><dt><span class=
"section"><a href=
"debug.html#debug.races">Data Race Hunting
</a></span></dt><dt><span class=
"section"><a href=
"debug.html#debug.gdb">Using
<span class=
"command"><strong>gdb
</strong></span></a></span></dt><dt><span class=
"section"><a href=
"debug.html#debug.exceptions">Tracking uncaught exceptions
</a></span></dt><dt><span class=
"section"><a href=
"debug.html#debug.debug_mode">Debug Mode
</a></span></dt><dt><span class=
"section"><a href=
"debug.html#debug.compile_time_checks">Compile Time Checking
</a></span></dt><dt><span class=
"section"><a href=
"debug.html#debug.profile_mode">Profile-based Performance Analysis
</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"part"><a href=
"std_contents.html">II.
9 </a></span></dt><dd><dl><dt><span class=
"chapter"><a href=
"support.html">4.
12 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"support.html#std.support.types">Types
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"support.html#std.support.types.fundamental">Fundamental Types
</a></span></dt><dt><span class=
"section"><a href=
"support.html#std.support.types.numeric_limits">Numeric Properties
</a></span></dt><dt><span class=
"section"><a href=
"support.html#std.support.types.null">NULL
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"dynamic_memory.html">Dynamic Memory
</a></span></dt><dt><span class=
"section"><a href=
"termination.html">Termination
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"termination.html#support.termination.handlers">Termination Handlers
</a></span></dt><dt><span class=
"section"><a href=
"termination.html#support.termination.verbose">Verbose Terminate Handler
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"diagnostics.html">5.
15 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"diagnostics.html#std.diagnostics.exceptions">Exceptions
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"diagnostics.html#std.diagnostics.exceptions.api">API Reference
</a></span></dt><dt><span class=
"section"><a href=
"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=
"concept_checking.html">Concept Checking
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"utilities.html">6.
18 </a></span></dt><dd><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><dd><dl><dt><span class=
"section"><a href=
"memory.html#allocator.req">Requirements
</a></span></dt><dt><span class=
"section"><a href=
"memory.html#allocator.design_issues">Design Issues
</a></span></dt><dt><span class=
"section"><a href=
"memory.html#allocator.impl">Implementation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"memory.html#idm270001611968">Interface Design
</a></span></dt><dt><span class=
"section"><a href=
"memory.html#idm270001608416">Selecting Default Allocation Policy
</a></span></dt><dt><span class=
"section"><a href=
"memory.html#idm270001595120">Disabling Memory Caching
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"memory.html#allocator.using">Using a Specific Allocator
</a></span></dt><dt><span class=
"section"><a href=
"memory.html#allocator.custom">Custom Allocators
</a></span></dt><dt><span class=
"section"><a href=
"memory.html#allocator.ext">Extension Allocators
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"memory.html#std.util.memory.auto_ptr">auto_ptr
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"memory.html#auto_ptr.limitations">Limitations
</a></span></dt><dt><span class=
"section"><a href=
"memory.html#auto_ptr.using">Use in Containers
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"memory.html#std.util.memory.shared_ptr">shared_ptr
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"memory.html#shared_ptr.req">Requirements
</a></span></dt><dt><span class=
"section"><a href=
"memory.html#shared_ptr.design_issues">Design Issues
</a></span></dt><dt><span class=
"section"><a href=
"memory.html#shared_ptr.impl">Implementation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"memory.html#idm270000019344">Class Hierarchy
</a></span></dt><dt><span class=
"section"><a href=
"memory.html#idm269999996832">Thread Safety
</a></span></dt><dt><span class=
"section"><a href=
"memory.html#idm269999989536">Selecting Lock Policy
</a></span></dt><dt><span class=
"section"><a href=
"memory.html#idm269999974912">Related functions and classes
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"memory.html#shared_ptr.using">Use
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"memory.html#idm269999958496">Examples
</a></span></dt><dt><span class=
"section"><a href=
"memory.html#idm269999954912">Unresolved Issues
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"memory.html#shared_ptr.ack">Acknowledgments
</a></span></dt></dl></dd></dl></dd><dt><span class=
"section"><a href=
"traits.html">Traits
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"strings.html">7.
21 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"strings.html#std.strings.string">String Classes
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"strings.html#strings.string.simple">Simple Transformations
</a></span></dt><dt><span class=
"section"><a href=
"strings.html#strings.string.case">Case Sensitivity
</a></span></dt><dt><span class=
"section"><a href=
"strings.html#strings.string.character_types">Arbitrary Character Types
</a></span></dt><dt><span class=
"section"><a href=
"strings.html#strings.string.token">Tokenizing
</a></span></dt><dt><span class=
"section"><a href=
"strings.html#strings.string.shrink">Shrink to Fit
</a></span></dt><dt><span class=
"section"><a href=
"strings.html#strings.string.Cstring">CString (MFC)
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"localization.html">8.
24 </a></span></dt><dd><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><dd><dl><dt><span class=
"section"><a href=
"localization.html#locales.locale.req">Requirements
</a></span></dt><dt><span class=
"section"><a href=
"localization.html#locales.locale.design">Design
</a></span></dt><dt><span class=
"section"><a href=
"localization.html#locales.locale.impl">Implementation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"localization.html#locale.impl.c">Interacting with
"C" locales
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"localization.html#locales.locale.future">Future
</a></span></dt></dl></dd></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><dd><dl><dt><span class=
"section"><a href=
"facets.html#facet.ctype.impl">Implementation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"facets.html#idm269999753024">Specializations
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"facets.html#facet.ctype.future">Future
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"facets.html#std.localization.facet.codecvt">codecvt
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"facets.html#facet.codecvt.req">Requirements
</a></span></dt><dt><span class=
"section"><a href=
"facets.html#facet.codecvt.design">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"facets.html#codecvt.design.wchar_t_size"><span class=
"type">wchar_t
</span> Size
</a></span></dt><dt><span class=
"section"><a href=
"facets.html#codecvt.design.unicode">Support for Unicode
</a></span></dt><dt><span class=
"section"><a href=
"facets.html#codecvt.design.issues">Other Issues
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"facets.html#facet.codecvt.impl">Implementation
</a></span></dt><dt><span class=
"section"><a href=
"facets.html#facet.codecvt.use">Use
</a></span></dt><dt><span class=
"section"><a href=
"facets.html#facet.codecvt.future">Future
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"facets.html#manual.localization.facet.messages">messages
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"facets.html#facet.messages.req">Requirements
</a></span></dt><dt><span class=
"section"><a href=
"facets.html#facet.messages.design">Design
</a></span></dt><dt><span class=
"section"><a href=
"facets.html#facet.messages.impl">Implementation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"facets.html#messages.impl.models">Models
</a></span></dt><dt><span class=
"section"><a href=
"facets.html#messages.impl.gnu">The GNU Model
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"facets.html#facet.messages.use">Use
</a></span></dt><dt><span class=
"section"><a href=
"facets.html#facet.messages.future">Future
</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"containers.html">9.
27 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"containers.html#std.containers.sequences">Sequences
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"containers.html#containers.sequences.list">list
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"containers.html#sequences.list.size">list::size() is O(n)
</a></span></dt></dl></dd></dl></dd><dt><span class=
"section"><a href=
"associative.html">Associative
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"associative.html#containers.associative.insert_hints">Insertion Hints
</a></span></dt><dt><span class=
"section"><a href=
"associative.html#containers.associative.bitset">bitset
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"associative.html#associative.bitset.size_variable">Size Variable
</a></span></dt><dt><span class=
"section"><a href=
"associative.html#associative.bitset.type_string">Type String
</a></span></dt></dl></dd></dl></dd><dt><span class=
"section"><a href=
"unordered_associative.html">Unordered Associative
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"unordered_associative.html#containers.unordered.hash">Hash Code
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"unordered_associative.html#containers.unordered.cache">Hash Code Caching Policy
</a></span></dt></dl></dd></dl></dd><dt><span class=
"section"><a href=
"containers_and_c.html">Interacting with C
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"containers_and_c.html#containers.c.vs_array">Containers vs. Arrays
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"iterators.html">10.
30 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"iterators.html#std.iterators.predefined">Predefined
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"iterators.html#iterators.predefined.vs_pointers">Iterators vs. Pointers
</a></span></dt><dt><span class=
"section"><a href=
"iterators.html#iterators.predefined.end">One Past the End
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"algorithms.html">11.
33 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"algorithms.html#std.algorithms.mutating">Mutating
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"algorithms.html#algorithms.mutating.swap"><code class=
"function">swap
</code></a></span></dt><dd><dl><dt><span class=
"section"><a href=
"algorithms.html#algorithms.swap.specializations">Specializations
</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"numerics.html">12.
36 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"numerics.html#std.numerics.complex">Complex
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"numerics.html#numerics.complex.processing">complex Processing
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"generalized_numeric_operations.html">Generalized Operations
</a></span></dt><dt><span class=
"section"><a href=
"numerics_and_c.html">Interacting with C
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"numerics_and_c.html#numerics.c.array">Numerics vs. Arrays
</a></span></dt><dt><span class=
"section"><a href=
"numerics_and_c.html#numerics.c.c99">C99
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"io.html">13.
39 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"io.html#std.io.objects">Iostream Objects
</a></span></dt><dt><span class=
"section"><a href=
"streambufs.html">Stream Buffers
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"streambufs.html#io.streambuf.derived">Derived streambuf Classes
</a></span></dt><dt><span class=
"section"><a href=
"streambufs.html#io.streambuf.buffering">Buffering
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"stringstreams.html">Memory Based Streams
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"stringstreams.html#std.io.memstreams.compat">Compatibility With strstream
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"fstreams.html">File Based Streams
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"fstreams.html#std.io.filestreams.copying_a_file">Copying a File
</a></span></dt><dt><span class=
"section"><a href=
"fstreams.html#std.io.filestreams.binary">Binary Input and Output
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"io_and_c.html">Interacting with C
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"io_and_c.html#std.io.c.FILE">Using FILE* and file descriptors
</a></span></dt><dt><span class=
"section"><a href=
"io_and_c.html#std.io.c.sync">Performance
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"atomics.html">14.
42 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"atomics.html#std.atomics.api">API Reference
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"concurrency.html">15.
45 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"concurrency.html#std.concurrency.api">API Reference
</a></span></dt></dl></dd></dl></dd><dt><span class=
"part"><a href=
"extensions.html">III.
48 </a></span></dt><dd><dl><dt><span class=
"preface"><a href=
"ext_preface.html"></a></span></dt><dt><span class=
"chapter"><a href=
"ext_compile_checks.html">16. Compile Time Checks
</a></span></dt><dt><span class=
"chapter"><a href=
"debug_mode.html">17. Debug Mode
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"debug_mode.html#manual.ext.debug_mode.intro">Intro
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_semantics.html">Semantics
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_using.html">Using
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"debug_mode_using.html#debug_mode.using.mode">Using the Debug Mode
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_using.html#debug_mode.using.specific">Using a Specific Debug Container
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"debug_mode_design.html">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.goals">Goals
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.methods">Methods
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.methods.wrappers">The Wrapper Model
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe Iterators
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.methods.precond">Precondition Checking
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"debug_mode_design.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_design.html#methods.coexistence.link">Link- and run-time coexistence of release- and
49 debug-mode components
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_design.html#methods.coexistence.alt">Alternatives for Coexistence
</a></span></dt></dl></dd></dl></dd><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.other">Other Implementations
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"parallel_mode.html">18. Parallel Mode
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"parallel_mode.html#manual.ext.parallel_mode.intro">Intro
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_semantics.html">Semantics
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_using.html">Using
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"parallel_mode_using.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_using.html#parallel_mode.using.parallel_mode">Using Parallel Mode
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_using.html#parallel_mode.using.specific">Using Specific Parallel Components
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"parallel_mode_design.html">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"parallel_mode_design.html#parallel_mode.design.intro">Interface Basics
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_design.html#parallel_mode.design.tuning">Configuration and Tuning
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"parallel_mode_design.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_design.html#parallel_mode.design.tuning.compile">Compile Time Switches
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_design.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"parallel_mode_design.html#parallel_mode.design.impl">Implementation Namespaces
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"parallel_mode_test.html">Testing
</a></span></dt><dt><span class=
"bibliography"><a href=
"parallel_mode.html#parallel_mode.biblio">Bibliography
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"profile_mode.html">19. Profile Mode
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode.html#manual.ext.profile_mode.intro">Intro
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_design.html">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.wrapper">Wrapper Model
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.instrumentation">Instrumentation
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.cost-model">Cost Model
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.reports">Reports
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.testing">Testing
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_api.html">Extensions for Custom Containers
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_cost_model.html">Empirical Cost Model
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_impl.html">Implementation Issues
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_impl.html#manual.ext.profile_mode.implementation.stack">Stack Traces
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_impl.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_impl.html#manual.ext.profile_mode.implementation.concurrency">Concurrency
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_impl.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=
"profile_mode_impl.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_impl.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=
"profile_mode_devel.html">Developer Information
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_devel.html#manual.ext.profile_mode.developer.bigpic">Big Picture
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_devel.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html">Diagnostics
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.template">Diagnostic Template
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.containers">Containers
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.algorithms">Algorithms
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality">Data Locality
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.statistics">Statistics
</a></span></dt></dl></dd><dt><span class=
"bibliography"><a href=
"profile_mode.html#profile_mode.biblio">Bibliography
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"mt_allocator.html">20. The mt_allocator
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"mt_allocator.html#allocator.mt.intro">Intro
</a></span></dt><dt><span class=
"section"><a href=
"mt_allocator_design.html">Design Issues
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"mt_allocator_design.html#allocator.mt.overview">Overview
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"mt_allocator_impl.html">Implementation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"mt_allocator_impl.html#allocator.mt.tune">Tunable Parameters
</a></span></dt><dt><span class=
"section"><a href=
"mt_allocator_impl.html#allocator.mt.init">Initialization
</a></span></dt><dt><span class=
"section"><a href=
"mt_allocator_impl.html#allocator.mt.deallocation">Deallocation Notes
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"mt_allocator_ex_single.html">Single Thread Example
</a></span></dt><dt><span class=
"section"><a href=
"mt_allocator_ex_multi.html">Multiple Thread Example
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"bitmap_allocator.html">21. The bitmap_allocator
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"bitmap_allocator.html#allocator.bitmap.design">Design
</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html">Implementation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.free_list_store">Free List Store
</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.super_block">Super Block
</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.super_block_data">Super Block Data Layout
</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.max_wasted">Maximum Wasted Percentage
</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.allocate"><code class=
"function">allocate
</code></a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.deallocate"><code class=
"function">deallocate
</code></a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.questions">Questions
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.question.1">1</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.question.2">2</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.locality">Locality
</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.grow_policy">Overhead and Grow Policy
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"policy_data_structures.html">22. Policy-Based Data Structures
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro">Intro
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro.issues">Performance Issues
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro.issues.associative">Associative
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro.motivation">Goals
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro.motivation.associative">Associative
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.associative.policy">Policy Choices
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.associative.iterators">Iterators
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.associative.functions">Functional
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.priority_queue.policy">Policy Choices
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps
</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_using.html">Using
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.prereq">Prerequisites
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.organization">Organization
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.tutorial">Tutorial
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.tutorial.configuring">
50 Configuring via Template Parameters
51 </a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.tutorial.traits">
52 Querying Container Attributes
53 </a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.tutorial.point_range_iteration">
54 Point and Range Iteration
55 </a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples">Examples
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples.basic">Intermediate Use
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples.query">Querying with
<code class=
"classname">container_traits
</code> </a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples.container">By Container Method
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples.container.hash">Hash-Based
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples.container.branch">Branch-Based
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples.container.priority_queue">Priority Queues
</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.concepts">Concepts
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.concepts.null_type">Null Policy Classes
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.concepts.associative_semantics">Map and Set Semantics
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#concepts.associative_semantics.set_vs_map">
56 Distinguishing Between Maps and Sets
57 </a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#concepts.associative_semantics.multi">Alternatives to
<code class=
"classname">std::multiset
</code> and
<code class=
"classname">std::multimap
</code></a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.concepts.iterator_semantics">Iterator Semantics
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#concepts.iterator_semantics.point_and_range">Point and Range Iterators
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#concepts.iterator_semantics.both">Distinguishing Point and Range Iterators
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.concepts.invalidation">Invalidation Guarantees
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.concepts.genericity">Genericity
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#concepts.genericity.tag">Tag
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#concepts.genericity.traits">Traits
</a></span></dt></dl></dd></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.container">By Container
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.container.hash">hash
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.hash.interface">Interface
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.hash.details">Details
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.container.tree">tree
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.tree.interface">Interface
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.tree.details">Details
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.container.trie">Trie
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.trie.interface">Interface
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.trie.details">Details
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.container.list">List
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.list.interface">Interface
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.list.details">Details
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.container.priority_queue">Priority Queue
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.priority_queue.interface">Interface
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.priority_queue.details">Details
</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html">Testing
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#pbds.test.regression">Regression
</a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#pbds.test.performance">Performance
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash">Hash-Based
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash.text_find">
58 Text
<code class=
"function">find
</code>
59 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash.int_find">
60 Integer
<code class=
"function">find
</code>
61 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash.int_subscript_find">
62 Integer Subscript
<code class=
"function">find
</code>
63 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash.int_subscript_insert">
64 Integer Subscript
<code class=
"function">insert
</code>
65 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash.zlob_int_find">
66 Integer
<code class=
"function">find
</code> with Skewed-Distribution
67 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash.erase_mem">
69 </a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.branch">Branch-Based
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.branch.text_insert">
70 Text
<code class=
"function">insert
</code>
71 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.branch.text_find">
72 Text
<code class=
"function">find
</code>
73 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.branch.text_lor_find">
74 Text
<code class=
"function">find
</code> with Locality-of-Reference
75 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.branch.split_join">
76 <code class=
"function">split
</code> and
<code class=
"function">join
</code>
77 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.branch.order_statistics">
79 </a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap">Multimap
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap.text_find_small">
80 Text
<code class=
"function">find
</code> with Small Secondary-to-Primary Key Ratios
81 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap.text_find_large">
82 Text
<code class=
"function">find
</code> with Large Secondary-to-Primary Key Ratios
83 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap.text_insert_small">
84 Text
<code class=
"function">insert
</code> with Small
85 Secondary-to-Primary Key Ratios
86 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap.text_insert_large">
87 Text
<code class=
"function">insert
</code> with Small
88 Secondary-to-Primary Key Ratios
89 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap.text_insert_mem_small">
90 Text
<code class=
"function">insert
</code> with Small
91 Secondary-to-Primary Key Ratios Memory Use
92 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap.text_insert_mem_large">
93 Text
<code class=
"function">insert
</code> with Small
94 Secondary-to-Primary Key Ratios Memory Use
95 </a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue">Priority Queue
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.text_push">
96 Text
<code class=
"function">push
</code>
97 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.text_push_pop">
98 Text
<code class=
"function">push
</code> and
<code class=
"function">pop
</code>
99 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.int_push">
100 Integer
<code class=
"function">push
</code>
101 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.int_push_pop">
102 Integer
<code class=
"function">push
</code>
103 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.text_pop">
104 Text
<code class=
"function">pop
</code> Memory Use
105 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.text_join">
106 Text
<code class=
"function">join
</code>
107 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.text_modify_up">
108 Text
<code class=
"function">modify
</code> Up
109 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.text_modify_down">
110 Text
<code class=
"function">modify
</code> Down
111 </a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#pbds.test.performance.observations">Observations
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#observations.associative">Associative
</a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue
</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_ack.html">Acknowledgments
</a></span></dt><dt><span class=
"bibliography"><a href=
"policy_data_structures.html#pbds.biblio">Bibliography
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"ext_containers.html">23. HP/SGI Extensions
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility
</a></span></dt><dt><span class=
"section"><a href=
"ext_sgi.html">Deprecated
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"ext_utilities.html">24. Utilities
</a></span></dt><dt><span class=
"chapter"><a href=
"ext_algorithms.html">25. Algorithms
</a></span></dt><dt><span class=
"chapter"><a href=
"ext_numerics.html">26. Numerics
</a></span></dt><dt><span class=
"chapter"><a href=
"ext_iterators.html">27. Iterators
</a></span></dt><dt><span class=
"chapter"><a href=
"ext_io.html">28. Input and Output
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"ext_demangling.html">29. Demangling
</a></span></dt><dt><span class=
"chapter"><a href=
"ext_concurrency.html">30. Concurrency
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"ext_concurrency.html#manual.ext.concurrency.design">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes
</a></span></dt><dt><span class=
"section"><a href=
"ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"ext_concurrency_impl.html">Implementation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"ext_concurrency_impl.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions
</a></span></dt><dt><span class=
"section"><a href=
"ext_concurrency_impl.html#manual.ext.concurrency.impl.thread">Thread Abstraction
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"ext_concurrency_use.html">Use
</a></span></dt></dl></dd></dl></dd><dt><span class=
"part"><a href=
"appendix.html">IV.
113 </a></span></dt><dd><dl><dt><span class=
"appendix"><a href=
"appendix_contributing.html">A.
116 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"appendix_contributing.html#contrib.list">Contributor Checklist
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"appendix_contributing.html#list.reading">Reading
</a></span></dt><dt><span class=
"section"><a href=
"appendix_contributing.html#list.copyright">Assignment
</a></span></dt><dt><span class=
"section"><a href=
"appendix_contributing.html#list.getting">Getting Sources
</a></span></dt><dt><span class=
"section"><a href=
"appendix_contributing.html#list.patches">Submitting Patches
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"source_organization.html">Directory Layout and Source Conventions
</a></span></dt><dt><span class=
"section"><a href=
"source_code_style.html">Coding Style
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"source_code_style.html#coding_style.bad_identifiers">Bad Identifiers
</a></span></dt><dt><span class=
"section"><a href=
"source_code_style.html#coding_style.example">By Example
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"source_design_notes.html">Design Notes
</a></span></dt></dl></dd><dt><span class=
"appendix"><a href=
"appendix_porting.html">B.
117 Porting and Maintenance
119 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"appendix_porting.html#build_hacking.prereq">Prerequisites
</a></span></dt><dt><span class=
"section"><a href=
"appendix_porting.html#build_hacking.overview">Overview
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"appendix_porting.html#build_hacking.overview.basic">General Process
</a></span></dt><dt><span class=
"section"><a href=
"appendix_porting.html#build_hacking.overview.map">What Comes from Where
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"appendix_porting.html#build_hacking.configure">Configure
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"appendix_porting.html#build_hacking.configure.scripts">Storing Information in non-AC files (like configure.host)
</a></span></dt><dt><span class=
"section"><a href=
"appendix_porting.html#build_hacking.configure.conventions">Coding and Commenting Conventions
</a></span></dt><dt><span class=
"section"><a href=
"appendix_porting.html#build_hacking.configure.acinclude">The acinclude.m4 layout
</a></span></dt><dt><span class=
"section"><a href=
"appendix_porting.html#build_hacking.configure.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=
"appendix_porting.html#build_hacking.make">Make
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"documentation_hacking.html">Writing and Generating Documentation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"documentation_hacking.html#doc.intro">Introduction
</a></span></dt><dt><span class=
"section"><a href=
"documentation_hacking.html#doc.generation">Generating Documentation
</a></span></dt><dt><span class=
"section"><a href=
"documentation_hacking.html#doc.doxygen">Doxygen
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"documentation_hacking.html#doxygen.prereq">Prerequisites
</a></span></dt><dt><span class=
"section"><a href=
"documentation_hacking.html#doxygen.rules">Generating the Doxygen Files
</a></span></dt><dt><span class=
"section"><a href=
"documentation_hacking.html#doxygen.debug">Debugging Generation
</a></span></dt><dt><span class=
"section"><a href=
"documentation_hacking.html#doxygen.markup">Markup
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"documentation_hacking.html#doc.docbook">Docbook
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"documentation_hacking.html#docbook.prereq">Prerequisites
</a></span></dt><dt><span class=
"section"><a href=
"documentation_hacking.html#docbook.rules">Generating the DocBook Files
</a></span></dt><dt><span class=
"section"><a href=
"documentation_hacking.html#docbook.debug">Debugging Generation
</a></span></dt><dt><span class=
"section"><a href=
"documentation_hacking.html#docbook.validation">Editing and Validation
</a></span></dt><dt><span class=
"section"><a href=
"documentation_hacking.html#docbook.examples">File Organization and Basics
</a></span></dt><dt><span class=
"section"><a href=
"documentation_hacking.html#docbook.markup">Markup By Example
</a></span></dt></dl></dd></dl></dd><dt><span class=
"section"><a href=
"internals.html">Porting to New Hardware or Operating Systems
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"internals.html#internals.os">Operating System
</a></span></dt><dt><span class=
"section"><a href=
"internals.html#internals.cpu">CPU
</a></span></dt><dt><span class=
"section"><a href=
"internals.html#internals.char_types">Character Types
</a></span></dt><dt><span class=
"section"><a href=
"internals.html#internals.thread_safety">Thread Safety
</a></span></dt><dt><span class=
"section"><a href=
"internals.html#internals.numeric_limits">Numeric Limits
</a></span></dt><dt><span class=
"section"><a href=
"internals.html#internals.libtool">Libtool
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"test.html">Test
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"test.html#test.organization">Organization
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"test.html#test.organization.layout">Directory Layout
</a></span></dt><dt><span class=
"section"><a href=
"test.html#test.organization.naming">Naming Conventions
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"test.html#test.run">Running the Testsuite
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"test.html#test.run.basic">Basic
</a></span></dt><dt><span class=
"section"><a href=
"test.html#test.run.variations">Variations
</a></span></dt><dt><span class=
"section"><a href=
"test.html#test.run.permutations">Permutations
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"test.html#test.new_tests">Writing a new test case
</a></span></dt><dt><span class=
"section"><a href=
"test.html#test.harness">Test Harness and Utilities
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"test.html#test.harness.dejagnu">Dejagnu Harness Details
</a></span></dt><dt><span class=
"section"><a href=
"test.html#test.harness.utils">Utilities
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"test.html#test.special">Special Topics
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"test.html#test.exception.safety">
120 Qualifying Exception Safety Guarantees
122 </a></span></dt><dd><dl><dt><span class=
"section"><a href=
"test.html#test.exception.safety.overview">Overview
</a></span></dt><dt><span class=
"section"><a href=
"test.html#test.exception.safety.status">
124 </a></span></dt><dt><span class=
"section"><a href=
"test.html#test.exception.safety.containers">
125 C++
11 Requirements Test Sequence Descriptions
126 </a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"section"><a href=
"abi.html">ABI Policy and Guidelines
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"abi.html#abi.cxx_interface">The C++ Interface
</a></span></dt><dt><span class=
"section"><a href=
"abi.html#abi.versioning">Versioning
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"abi.html#abi.versioning.goals">Goals
</a></span></dt><dt><span class=
"section"><a href=
"abi.html#abi.versioning.history">History
</a></span></dt><dt><span class=
"section"><a href=
"abi.html#abi.versioning.prereq">Prerequisites
</a></span></dt><dt><span class=
"section"><a href=
"abi.html#abi.versioning.config">Configuring
</a></span></dt><dt><span class=
"section"><a href=
"abi.html#abi.versioning.active">Checking Active
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"abi.html#abi.changes_allowed">Allowed Changes
</a></span></dt><dt><span class=
"section"><a href=
"abi.html#abi.changes_no">Prohibited Changes
</a></span></dt><dt><span class=
"section"><a href=
"abi.html#abi.impl">Implementation
</a></span></dt><dt><span class=
"section"><a href=
"abi.html#abi.testing">Testing
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"abi.html#abi.testing.single">Single ABI Testing
</a></span></dt><dt><span class=
"section"><a href=
"abi.html#abi.testing.multi">Multiple ABI Testing
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"abi.html#abi.issues">Outstanding Issues
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"api.html">API Evolution and Deprecation History
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"api.html#api.rel_300"><code class=
"constant">3.0</code></a></span></dt><dt><span class=
"section"><a href=
"api.html#api.rel_310"><code class=
"constant">3.1</code></a></span></dt><dt><span class=
"section"><a href=
"api.html#api.rel_320"><code class=
"constant">3.2</code></a></span></dt><dt><span class=
"section"><a href=
"api.html#api.rel_330"><code class=
"constant">3.3</code></a></span></dt><dt><span class=
"section"><a href=
"api.html#api.rel_340"><code class=
"constant">3.4</code></a></span></dt><dt><span class=
"section"><a href=
"api.html#api.rel_400"><code class=
"constant">4.0</code></a></span></dt><dt><span class=
"section"><a href=
"api.html#api.rel_410"><code class=
"constant">4.1</code></a></span></dt><dt><span class=
"section"><a href=
"api.html#api.rel_420"><code class=
"constant">4.2</code></a></span></dt><dt><span class=
"section"><a href=
"api.html#api.rel_430"><code class=
"constant">4.3</code></a></span></dt><dt><span class=
"section"><a href=
"api.html#api.rel_440"><code class=
"constant">4.4</code></a></span></dt><dt><span class=
"section"><a href=
"api.html#api.rel_450"><code class=
"constant">4.5</code></a></span></dt></dl></dd><dt><span class=
"section"><a href=
"backwards.html">Backwards Compatibility
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"backwards.html#backwards.first">First
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"backwards.html#backwards.first.ios_base">No
<code class=
"code">ios_base
</code></a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.first.cout_cin">No
<code class=
"code">cout
</code> in
<code class=
"filename"><ostream.h
></code>, no
<code class=
"code">cin
</code> in
<code class=
"filename"><istream.h
></code></a></span></dt></dl></dd><dt><span class=
"section"><a href=
"backwards.html#backwards.second">Second
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"backwards.html#backwards.second.std">Namespace
<code class=
"code">std::
</code> not supported
</a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.second.iterators">Illegal iterator usage
</a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.second.isspace"><code class=
"code">isspace
</code> from
<code class=
"filename"><cctype
></code> is a macro
127 </a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.second.at">No
<code class=
"code">vector::at
</code>,
<code class=
"code">deque::at
</code>,
<code class=
"code">string::at
</code></a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.second.eof">No
<code class=
"code">std::char_traits
<char
>::eof
</code></a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.second.stringclear">No
<code class=
"code">string::clear
</code></a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.second.ostreamform_istreamscan">
128 Removal of
<code class=
"code">ostream::form
</code> and
<code class=
"code">istream::scan
</code>
130 </a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.second.stringstreams">No
<code class=
"code">basic_stringbuf
</code>,
<code class=
"code">basic_stringstream
</code></a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.second.wchar">Little or no wide character support
</a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.second.iostream_templates">No templatized iostreams
</a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.second.thread_safety">Thread safety issues
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"backwards.html#backwards.third">Third
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"backwards.html#backwards.third.headers">Pre-ISO headers moved to backwards or removed
</a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.third.hash">Extension headers hash_map, hash_set moved to ext or backwards
</a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.third.nocreate_noreplace">No
<code class=
"code">ios::nocreate/ios::noreplace
</code>.
131 </a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.third.streamattach">
132 No
<code class=
"code">stream::attach(int fd)
</code>
133 </a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.third.support_cxx98">
134 Support for C++
98 dialect.
135 </a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.third.support_tr1">
136 Support for C++TR1 dialect.
137 </a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.third.support_cxx11">
138 Support for C++
11 dialect.
139 </a></span></dt><dt><span class=
"section"><a href=
"backwards.html#backwards.third.iterator_type">
140 <code class=
"code">Container::iterator_type
</code> is not necessarily
<code class=
"code">Container::value_type*
</code>
141 </a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"appendix"><a href=
"appendix_free.html">C.
142 Free Software Needs Free Documentation
144 </a></span></dt><dt><span class=
"appendix"><a href=
"appendix_gpl.html">D.
145 <acronym class=
"acronym">GNU
</acronym> General Public License version
3
146 </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-figures"><p><strong>List of Figures
</strong></p><dl><dt>22.1.
<a href=
"policy_data_structures.html#idm269997917584">Node Invariants
</a></dt><dt>22.2.
<a href=
"policy_data_structures.html#idm269997910864">Underlying Associative Data Structures
</a></dt><dt>22.3.
<a href=
"policy_data_structures.html#idm269997879168">Range Iteration in Different Data Structures
</a></dt><dt>22.4.
<a href=
"policy_data_structures.html#idm269997864256">Point Iteration in Hash Data Structures
</a></dt><dt>22.5.
<a href=
"policy_data_structures.html#idm269997855056">Effect of erase in different underlying data structures
</a></dt><dt>22.6.
<a href=
"policy_data_structures.html#idm269997787392">Underlying Priority Queue Data Structures
</a></dt><dt>22.7.
<a href=
"policy_data_structures_using.html#idm269997724688">Exception Hierarchy
</a></dt><dt>22.8.
<a href=
"policy_data_structures_design.html#idm269997530416">Non-unique Mapping Standard Containers
</a></dt><dt>22.9.
<a href=
"policy_data_structures_design.html#fig.pbds_embedded_lists_2">
147 Effect of embedded lists in
148 <code class=
"classname">std::multimap
</code>
149 </a></dt><dt>22.10.
<a href=
"policy_data_structures_design.html#idm269997506912">Non-unique Mapping Containers
</a></dt><dt>22.11.
<a href=
"policy_data_structures_design.html#idm269997487104">Point Iterator Hierarchy
</a></dt><dt>22.12.
<a href=
"policy_data_structures_design.html#idm269997473760">Invalidation Guarantee Tags Hierarchy
</a></dt><dt>22.13.
<a href=
"policy_data_structures_design.html#idm269997443664">Container Tag Hierarchy
</a></dt><dt>22.14.
<a href=
"policy_data_structures_design.html#idm269997403584">Hash functions, ranged-hash functions, and
150 range-hashing functions
</a></dt><dt>22.15.
<a href=
"policy_data_structures_design.html#idm269997339216">Insert hash sequence diagram
</a></dt><dt>22.16.
<a href=
"policy_data_structures_design.html#idm269997332160">Insert hash sequence diagram with a null policy
</a></dt><dt>22.17.
<a href=
"policy_data_structures_design.html#idm269997315408">Hash policy class diagram
</a></dt><dt>22.18.
<a href=
"policy_data_structures_design.html#idm269997296368">Balls and bins
</a></dt><dt>22.19.
<a href=
"policy_data_structures_design.html#idm269997265648">Insert resize sequence diagram
</a></dt><dt>22.20.
<a href=
"policy_data_structures_design.html#idm269997257872">Standard resize policy trigger sequence
151 diagram
</a></dt><dt>22.21.
<a href=
"policy_data_structures_design.html#idm269997253712">Standard resize policy size sequence
152 diagram
</a></dt><dt>22.22.
<a href=
"policy_data_structures_design.html#idm269997175616">Tree node invariants
</a></dt><dt>22.23.
<a href=
"policy_data_structures_design.html#idm269997166176">Tree node invalidation
</a></dt><dt>22.24.
<a href=
"policy_data_structures_design.html#idm269997153072">A tree and its update policy
</a></dt><dt>22.25.
<a href=
"policy_data_structures_design.html#idm269997141408">Restoring node invariants
</a></dt><dt>22.26.
<a href=
"policy_data_structures_design.html#idm269997133232">Insert update sequence
</a></dt><dt>22.27.
<a href=
"policy_data_structures_design.html#idm269997110976">Useless update path
</a></dt><dt>22.28.
<a href=
"policy_data_structures_design.html#idm269997066288">A PATRICIA trie
</a></dt><dt>22.29.
<a href=
"policy_data_structures_design.html#idm269997055856">A trie and its update policy
</a></dt><dt>22.30.
<a href=
"policy_data_structures_design.html#idm269997025344">A simple list
</a></dt><dt>22.31.
<a href=
"policy_data_structures_design.html#idm269997019760">The counter algorithm
</a></dt><dt>22.32.
<a href=
"policy_data_structures_design.html#idm269996955920">Underlying Priority-Queue Data-Structures.
</a></dt><dt>22.33.
<a href=
"policy_data_structures_design.html#idm269996920880">Priority-Queue Data-Structure Tags.
</a></dt><dt>B
.1.
<a href=
"appendix_porting.html#idm269993497120">Configure and Build File Dependencies
</a></dt></dl></div><div class=
"list-of-tables"><p><strong>List of Tables
</strong></p><dl><dt>1.1.
<a href=
"status.html#idm270008034928">C++
1998/
2003 Implementation Status
</a></dt><dt>1.2.
<a href=
"status.html#idm270007982624">C++
2011 Implementation Status
</a></dt><dt>1.3.
<a href=
"status.html#idm270006687472">C++ TR1 Implementation Status
</a></dt><dt>1.4.
<a href=
"status.html#idm270002960368">C++ TR
24733 Implementation Status
</a></dt><dt>3.1.
<a href=
"using.html#idm270002481088">C++ Command Options
</a></dt><dt>3.2.
<a href=
"using_headers.html#idm270002453792">C++
1998 Library Headers
</a></dt><dt>3.3.
<a href=
"using_headers.html#idm270002417312">C++
1998 Library Headers for C Library Facilities
</a></dt><dt>3.4.
<a href=
"using_headers.html#idm270002392576">C++
2011 Library Headers
</a></dt><dt>3.5.
<a href=
"using_headers.html#idm270002341136">C++
2011 Library Headers for C Library Facilities
</a></dt><dt>3.6.
<a href=
"using_headers.html#idm270002311248">C++ TR
1 Library Headers
</a></dt><dt>3.7.
<a href=
"using_headers.html#idm270002294320">C++ TR
1 Library Headers for C Library Facilities
</a></dt><dt>3.8.
<a href=
"using_headers.html#idm270002273248">C++ TR
24733 Decimal Floating-Point Header
</a></dt><dt>3.9.
<a href=
"using_headers.html#idm270002267728">C++ ABI Headers
</a></dt><dt>3.10.
<a href=
"using_headers.html#idm270002261328">Extension Headers
</a></dt><dt>3.11.
<a href=
"using_headers.html#idm270002225600">Extension Debug Headers
</a></dt><dt>3.12.
<a href=
"using_headers.html#idm270002210832">Extension Profile Headers
</a></dt><dt>3.13.
<a href=
"using_headers.html#idm270002197456">Extension Parallel Headers
</a></dt><dt>17.1.
<a href=
"debug_mode_using.html#idm269999040896">Debugging Containers
</a></dt><dt>17.2.
<a href=
"debug_mode_using.html#idm269998996000">Debugging Containers C++
11</a></dt><dt>18.1.
<a href=
"parallel_mode_using.html#idm269998805216">Parallel Algorithms
</a></dt><dt>19.1.
<a href=
"profile_mode_design.html#idm269998550064">Profile Code Location
</a></dt><dt>19.2.
<a href=
"profile_mode_diagnostics.html#idm269998442544">Profile Diagnostics
</a></dt><dt>21.1.
<a href=
"bitmap_allocator_impl.html#idm269998030352">Bitmap Allocator Memory Map
</a></dt><dt>B
.1.
<a href=
"documentation_hacking.html#idm269993370272">Doxygen Prerequisites
</a></dt><dt>B
.2.
<a href=
"documentation_hacking.html#idm269993294592">HTML to Doxygen Markup Comparison
</a></dt><dt>B
.3.
<a href=
"documentation_hacking.html#idm269993275152">Docbook Prerequisites
</a></dt><dt>B
.4.
<a href=
"documentation_hacking.html#idm269993197520">HTML to Docbook XML Markup Comparison
</a></dt><dt>B
.5.
<a href=
"documentation_hacking.html#idm269993173376">Docbook XML Element Use
</a></dt><dt>B
.6.
<a href=
"api.html#idm269992502096">Extension Allocators
</a></dt><dt>B
.7.
<a href=
"api.html#idm269992474464">Extension Allocators Continued
</a></dt></dl></div><div class=
"list-of-equations"><p><strong>List of Equations
</strong></p><dl><dt>22.1.
<a href=
"policy_data_structures_design.html#idm269997389776">Ranged Hash Function
</a></dt><dt>22.2.
<a href=
"policy_data_structures_design.html#idm269997383888">Range-Hashing, Division Method
</a></dt><dt>22.3.
<a href=
"policy_data_structures_design.html#idm269997379376">Division via Prime Modulo
</a></dt><dt>22.4.
<a href=
"policy_data_structures_design.html#idm269997377552">Division via Bit Mask
</a></dt><dt>22.5.
<a href=
"policy_data_structures_design.html#idm269997367984">
153 A Standard String Hash Function
154 </a></dt><dt>22.6.
<a href=
"policy_data_structures_design.html#idm269997361840">
155 Only k String DNA Hash
156 </a></dt><dt>22.7.
<a href=
"policy_data_structures_design.html#idm269997290864">
157 Probability of Probe Sequence of Length k
158 </a></dt><dt>22.8.
<a href=
"policy_data_structures_design.html#idm269997284096">
159 Probability Probe Sequence in Some Bin
160 </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=
"../index.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
</td><td width=
"20%" align=
"center"><a accesskey=
"h" href=
"../index.html">Home
</a></td><td width=
"40%" align=
"right" valign=
"top"> Part I.
163 </td></tr></table></div></body></html>