</p></div></div><hr/></div><divclass="toc"><p><b>Table of Contents</b></p><dl><dt><spanclass="book"><ahref="manual/spine.html">The GNU C++ Library</a></span></dt><dd><dl><dt><spanclass="part"><ahref="manual/intro.html">I.
Introduction
</a></span></dt><dd><dl><dt><spanclass="chapter"><ahref="manual/status.html">1. Status</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/status.html#manual.intro.status.standard">Implementation Status</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/status.html#manual.intro.status.standard.1998">C++ 1998/2003</a></span></dt><dt><spanclass="sect2"><ahref="manual/status.html#manual.intro.status.standard.tr1">C++ TR1</a></span></dt><dt><spanclass="sect2"><ahref="manual/status.html#manual.intro.status.standard.200x">C++ 200x</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/license.html">License</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><spanclass="sect2"><ahref="manual/license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/bugs.html">Bugs</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><spanclass="sect2"><ahref="manual/bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><spanclass="chapter"><ahref="manual/setup.html">2. Setup</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><spanclass="sect1"><ahref="manual/configure.html">Configure</a></span></dt><dt><spanclass="sect1"><ahref="manual/make.html">Make</a></span></dt><dt><spanclass="sect1"><ahref="manual/test.html">Test</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/test.html#test.organization">Organization</a></span></dt><dt><spanclass="sect2"><ahref="manual/test.html#test.run">Running the Testsuite</a></span></dt><dt><spanclass="sect2"><ahref="manual/test.html#test.new_tests">Writing a new test case</a></span></dt><dt><spanclass="sect2"><ahref="manual/test.html#test.harness">Test Harness and Utilities</a></span></dt></dl></dd></dl></dd><dt><spanclass="chapter"><ahref="manual/using.html">3. Using</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/using.html#manual.intro.using.lib">Linking Library Binary Files</a></span></dt><dt><spanclass="sect1"><ahref="manual/using_headers.html">Headers</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><spanclass="sect2"><ahref="manual/using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><spanclass="sect2"><ahref="manual/using_headers.html#manual.intro.using.headers.cheaders">The C Headers and namespace std</a></span></dt><dt><spanclass="sect2"><ahref="manual/using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><spanclass="sect2"><ahref="manual/using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><spanclass="sect2"><ahref="manual/using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/using_macros.html">Macros</a></span></dt><dt><spanclass="sect1"><ahref="manual/using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><spanclass="sect2"><ahref="manual/using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><spanclass="sect2"><ahref="manual/using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><spanclass="sect2"><ahref="manual/using_concurrency.html#manual.intro.using.concurrency.io">
</a></span></dt><dd><dl><dt><spanclass="chapter"><ahref="manual/exceptions.html">7. Exceptions</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/exceptions.html#manual.diagnostics.exceptions.hierarchy">Exception Classes</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt03ch07s02.html">Adding Data to Exceptions</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt03ch07s03.html">Cancellation</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="manual/bk01pt03ch08.html">8. Concept Checking</a></span></dt></dl></dd><dt><spanclass="part"><ahref="manual/utilities.html">IV.
Utilities
</a></span></dt><dd><dl><dt><spanclass="chapter"><ahref="manual/functors.html">9. Functors</a></span></dt><dt><spanclass="chapter"><ahref="manual/pairs.html">10. Pairs</a></span></dt><dt><spanclass="chapter"><ahref="manual/memory.html">11. Memory</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/memory.html#manual.util.memory.allocator">Allocators</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/memory.html#allocator.req">Requirements</a></span></dt><dt><spanclass="sect2"><ahref="manual/memory.html#allocator.design_issues">Design Issues</a></span></dt><dt><spanclass="sect2"><ahref="manual/memory.html#allocator.impl">Implementation</a></span></dt><dt><spanclass="sect2"><ahref="manual/memory.html#allocator.using">Using a Specific Allocator</a></span></dt><dt><spanclass="sect2"><ahref="manual/memory.html#allocator.custom">Custom Allocators</a></span></dt><dt><spanclass="sect2"><ahref="manual/memory.html#allocator.ext">Extension Allocators</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/auto_ptr.html">auto_ptr</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/auto_ptr.html#auto_ptr.limitations">Limitations</a></span></dt><dt><spanclass="sect2"><ahref="manual/auto_ptr.html#auto_ptr.using">Use in Containers</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/shared_ptr.html">shared_ptr</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/shared_ptr.html#shared_ptr.req">Requirements</a></span></dt><dt><spanclass="sect2"><ahref="manual/shared_ptr.html#shared_ptr.design_issues">Design Issues</a></span></dt><dt><spanclass="sect2"><ahref="manual/shared_ptr.html#shared_ptr.impl">Implementation</a></span></dt><dt><spanclass="sect2"><ahref="manual/shared_ptr.html#shared_ptr.using">Use</a></span></dt><dt><spanclass="sect2"><ahref="manual/shared_ptr.html#shared_ptr.ack">Acknowledgments</a></span></dt></dl></dd></dl></dd><dt><spanclass="chapter"><ahref="manual/traits.html">12. Traits</a></span></dt></dl></dd><dt><spanclass="part"><ahref="manual/strings.html">V.
Strings
</a></span></dt><dd><dl><dt><spanclass="chapter"><ahref="manual/bk01pt05ch13.html">13. String Classes</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/bk01pt05ch13.html#strings.string.simple">Simple Transformations</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt05ch13s02.html">Case Sensitivity</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt05ch13s03.html">Arbitrary Character Types</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt05ch13s04.html">Tokenizing</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt05ch13s05.html">Shrink to Fit</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt05ch13s06.html">CString (MFC)</a></span></dt></dl></dd></dl></dd><dt><spanclass="part"><ahref="manual/localization.html">VI.
</a></span></dt><dd><dl><dt><spanclass="chapter"><ahref="manual/sequences.html">16. Sequences</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/sequences.html#containers.sequences.list">list</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/sequences.html#sequences.list.size">list::size() is O(n)</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/vector.html">vector</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/vector.html#sequences.vector.management">Space Overhead Management</a></span></dt></dl></dd></dl></dd><dt><spanclass="chapter"><ahref="manual/associative.html">17. Associative</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><spanclass="sect1"><ahref="manual/bitset.html">bitset</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/bitset.html#associative.bitset.size_variable">Size Variable</a></span></dt><dt><spanclass="sect2"><ahref="manual/bitset.html#associative.bitset.type_string">Type String</a></span></dt></dl></dd></dl></dd><dt><spanclass="chapter"><ahref="manual/containers_and_c.html">18. Interacting with C</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></dd><dt><spanclass="part"><ahref="manual/iterators.html">VIII.
Iterators
</a></span></dt><dd><dl><dt><spanclass="chapter"><ahref="manual/bk01pt08ch19.html">19. Predefined</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/bk01pt08ch19.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt08ch19s02.html">One Past the End</a></span></dt></dl></dd></dl></dd><dt><spanclass="part"><ahref="manual/algorithms.html">IX.
</a></span></dt><dd><dl><dt><spanclass="chapter"><ahref="manual/complex.html">21. Complex</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/complex.html#numerics.complex.processing">complex Processing</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="manual/generalized_numeric_operations.html">22. Generalized Operations</a></span></dt><dt><spanclass="chapter"><ahref="manual/numerics_and_c.html">23. Interacting with C</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt10ch23s02.html">C99</a></span></dt></dl></dd></dl></dd><dt><spanclass="part"><ahref="manual/io.html">XI.
Input and Output
</a></span></dt><dd><dl><dt><spanclass="chapter"><ahref="manual/iostream_objects.html">24. Iostream Objects</a></span></dt><dt><spanclass="chapter"><ahref="manual/streambufs.html">25. Stream Buffers</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/streambufs.html#io.streambuf.derived">Derived streambuf Classes</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt11ch25s02.html">Buffering</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="manual/stringstreams.html">26. Memory Based Streams</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/stringstreams.html#manual.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="manual/fstreams.html">27. File Based Streams</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/fstreams.html#manual.io.filestreams.copying_a_file">Copying a File</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt11ch27s02.html">Binary Input and Output</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt11ch27s03.html">More Binary Input and Output</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="manual/io_and_c.html">28. Interacting with C</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/io_and_c.html#manual.io.c.FILE">Using FILE* and file descriptors</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt11ch28s02.html">Performance</a></span></dt></dl></dd></dl></dd><dt><spanclass="part"><ahref="manual/extensions.html">XII.
Extensions
</a></span></dt><dd><dl><dt><spanclass="preface"><ahref="manual/bk01pt12pr03.html"></a></span></dt><dt><spanclass="chapter"><ahref="manual/ext_compile_checks.html">29. Compile Time Checks</a></span></dt><dt><spanclass="chapter"><ahref="manual/debug_mode.html">30. Debug Mode</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt12ch30s02.html">Semantics</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt12ch30s03.html">Using</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/bk01pt12ch30s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><spanclass="sect2"><ahref="manual/bk01pt12ch30s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/bk01pt12ch30s04.html">Design</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/bk01pt12ch30s04.html#manual.ext.debug_mode.design.goals">Goals</a></span></dt><dt><spanclass="sect2"><ahref="manual/bk01pt12ch30s04.html#manual.ext.debug_mode.design.methods">Methods</a></span></dt><dt><spanclass="sect2"><ahref="manual/bk01pt12ch30s04.html#manual.ext.debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></dd><dt><spanclass="chapter"><ahref="manual/parallel_mode.html">31. Parallel Mode</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt12ch31s02.html">Semantics</a></span></dt><dt><spanclass="sect1"><ahref="manual/bk01pt12ch31s03.html">Using</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/bk01pt12ch31s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><spanclass="sect2"><ahref="manual/bk01pt12ch31s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><spanclass="sect2"><ahref="manual/bk01pt12ch31s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/bk01pt12ch31s04.html">Design</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/bk01pt12ch31s04.html#manual.ext.parallel_mode.design.intro">Interface Basics</a></span></dt><dt><spanclass="sect2"><ahref="manual/bk01pt12ch31s04.html#manual.ext.parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dt><spanclass="sect2"><ahref="manual/bk01pt12ch31s04.html#manual.ext.parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/bk01pt12ch31s05.html">Testing</a></span></dt><dt><spanclass="bibliography"><ahref="manual/parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><spanclass="chapter"><ahref="manual/ext_allocators.html">32. Allocators</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/ext_allocators.html#manual.ext.allocator.mt">mt_allocator</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/ext_allocators.html#allocator.mt.intro">Intro</a></span></dt><dt><spanclass="sect2"><ahref="manual/ext_allocators.html#allocator.mt.design_issues">Design Issues</a></span></dt><dt><spanclass="sect2"><ahref="manual/ext_allocators.html#allocator.mt.impl">Implementation</a></span></dt><dt><spanclass="sect2"><ahref="manual/ext_allocators.html#allocator.mt.example_single">Single Thread Example</a></span></dt><dt><spanclass="sect2"><ahref="manual/ext_allocators.html#allocator.mt.example_multi">Multiple Thread Example</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/bitmap_allocator.html">bitmap_allocator</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><spanclass="sect2"><ahref="manual/bitmap_allocator.html#allocator.bitmap.impl">Implementation</a></span></dt></dl></dd></dl></dd><dt><spanclass="chapter"><ahref="manual/ext_containers.
</a></span></dt><dd><dl><dt><spanclass="sect1"><ahref="manual/appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><spanclass="sect2"><ahref="manual/appendix_porting.html#build_hacking.map">Overview: What Comes from Where</a></span></dt><dt><spanclass="sect2"><ahref="manual/appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><spanclass="sect2"><ahref="manual/appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions</a></span></dt><dt><spanclass="sect2"><ahref="manual/appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout</a></span></dt><dt><spanclass="sect2"><ahref="manual/appendix_porting.html#build_hacking.enable">GLIBCXX_ENABLE, the --enable maker</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/internals.html#internals.os">Operating System</a></span></dt><dt><spanclass="sect2"><ahref="manual/internals.html#internals.cpu">CPU</a></span></dt><dt><spanclass="sect2"><ahref="manual/internals.html#internals.char_types">Character Types</a></span></dt><dt><spanclass="sect2"><ahref="manual/internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><spanclass="sect2"><ahref="manual/internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><spanclass="sect2"><ahref="manual/internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/abi.html">ABI Policy and Guidelines</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/abi.html#abi.cxx_interface">The C++ Interface</a></span></dt><dt><spanclass="sect2"><ahref="manual/abi.html#abi.versioning">Versioning</a></span></dt><dt><spanclass="sect2"><ahref="manual/abi.html#abi.changes_allowed">Allowed Changes</a></span></dt><dt><spanclass="sect2"><ahref="manual/abi.html#abi.changes_no">Prohibited Changes</a></span></dt><dt><spanclass="sect2"><ahref="manual/abi.html#abi.impl">Implementation</a></span></dt><dt><spanclass="sect2"><ahref="manual/abi.html#abi.testing">Testing</a></span></dt><dt><spanclass="sect2"><ahref="manual/abi.html#abi.issues">Outstanding Issues</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/api.html">API Evolution and Deprecation History</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/api.html#api.rel_300">3.0</a></span></dt><dt><spanclass="sect2"><ahref="manual/api.html#api.rel_310">3.1</a></span></dt><dt><spanclass="sect2"><ahref="manual/api.html#api.rel_320">3.2</a></span></dt><dt><spanclass="sect2"><ahref="manual/api.html#api.rel_330">3.3</a></span></dt><dt><spanclass="sect2"><ahref="manual/api.html#api.rel_340">3.4</a></span></dt><dt><spanclass="sect2"><ahref="manual/api.html#api.rel_400">4.0</a></span></dt><dt><spanclass="sect2"><ahref="manual/api.html#api.rel_410">4.1</a></span></dt><dt><spanclass="sect2"><ahref="manual/api.html#api.rel_420">4.2</a></span></dt><dt><spanclass="sect2"><ahref="manual/api.html#api.rel_430">4.3</a></span></dt></dl></dd><dt><spanclass="sect1"><ahref="manual/backwards.html">Backwards Compatibility</a></span></dt><dd><dl><dt><spanclass="sect2"><ahref="manual/backwards.html#backwards.first">First</a></span></dt><dt><spanclass="sect2"><ahref="manual/backwards.html#backwards.second">Second</a></span></dt><dt><spanclass="sect2"><ahref="manual/backwards.html#backwards.third">Third</a></span></dt></dl></dd></dl></dd><dt><spanclass="appendix"><ahref="manual/appendix_free.html">C.
</a></span></dt><dt><spanclass="appendix"><ahref="manual/appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt><dt><spanclass="index"><ahref="manual/bk01ix01.html">Index</a></span></dt></dl></dd><dt><spanclass="book"><ahref="bk02.html"></a></span></dt><dd><dl><dt><spanclass="article"><ahref="api.html">API and Source Level Documentation</a></span></dt></dl></dd><dt><spanclass="book"><ahref="bk03.html"></a></span></dt><dd><dl><dt><spanclass="article"><ahref="faq.html">Frequently Asked Questions</a></span></dt></dl></dd></dl></div></div><divclass="navfooter"><hr/><tablewidth="100%"summary="Navigation footer"><tr><tdwidth="40%"align="left"></td><tdwidth="20%"align="center"></td><tdwidth="40%"align="right"><aaccesskey="n"href="manual/spine.html">Next</a></td></tr><tr><tdwidth="40%"align="left"valign="top"></td><tdwidth="20%"align="center"></td><tdwidth="40%"align="right"valign="top">The GNU C++ Library</td></tr></table></div></body></html>