1*404b540aSrobert<?xml version="1.0" encoding="ISO-8859-1"?> 2*404b540aSrobert<!DOCTYPE html 3*404b540aSrobert PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 4*404b540aSrobert "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 5*404b540aSrobert 6*404b540aSrobert<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 7*404b540aSrobert<head> 8*404b540aSrobert <meta name="KEYWORDS" 9*404b540aSrobert content="libstdc++, homepage, home, C++, library, c++, std, g++, ABI, STL" /> 10*404b540aSrobert <title>GNU C++ Standard Library</title> 11*404b540aSrobert<link rel="StyleSheet" href="lib3styles.css" type="text/css" /> 12*404b540aSrobert<link rel="Copyright" href="17_intro/license.html" type="text/html" /> 13*404b540aSrobert<link rel="Help" href="faq/index.html" type="text/html" title="F.A.Q." /> 14*404b540aSrobert</head> 15*404b540aSrobert<body> 16*404b540aSrobert 17*404b540aSrobert 18*404b540aSrobert<p><strong>All of these documents</strong> (in fact, this entire homepage set) 19*404b540aSrobert are bundled with the library source, under the <code>docs</code> 20*404b540aSrobert subdirectory, for releases and snapshots. The sole exception is the 21*404b540aSrobert automatically-generated source documentation, available separately. 22*404b540aSrobert</p> 23*404b540aSrobert 24*404b540aSrobert<hr /> 25*404b540aSrobert<br /> 26*404b540aSrobert<h2><a name="1">Introduction</a></h2> 27*404b540aSrobert <p>This is a short list of text files pertaining to this implementation of 28*404b540aSrobert ISO 14882. A brief description may follow the name of the file. 29*404b540aSrobert </p> 30*404b540aSrobert <ul> 31*404b540aSrobert <li><a href="17_intro/COPYING">License</a> 32*404b540aSrobert - GPL v2 license terms</li> 33*404b540aSrobert <li><a href="abi.html">ABI Policy and Guidelines</a></li> 34*404b540aSrobert <li><a href="17_intro/BUGS">BUGS</a></li> 35*404b540aSrobert <li><a href="17_intro/PROBLEMS">PROBLEMS</a> 36*404b540aSrobert - target-specific known issues</li> 37*404b540aSrobert <!-- Linking to "../README" doesn't work; we are at the top level 38*404b540aSrobert of the web pages. Punt. --> 39*404b540aSrobert <li>README - directory structure</li> 40*404b540aSrobert <li><a href="17_intro/RELEASE-NOTES">RELEASE-NOTES</a> 41*404b540aSrobert - latest version info, recent changes and news</li> 42*404b540aSrobert <li><a href="17_intro/TODO">TODO</a> 43*404b540aSrobert - tasks yet undone</li> 44*404b540aSrobert <li><a href="faq/index.html">FAQ (HTML)</a>, 45*404b540aSrobert <a href="faq/index.txt">FAQ (text)</a></li> 46*404b540aSrobert </ul> 47*404b540aSrobert 48*404b540aSrobert<hr /> 49*404b540aSrobert<br /> 50*404b540aSrobert<h2><a name="2">Configuring, Building, Testing, Installing</a></h2> 51*404b540aSrobert<ul> 52*404b540aSrobert <li><a href="configopts.html">Configure options</a></li> 53*404b540aSrobert <li><a href="install.html">Getting started: configure, build, install</a> 54*404b540aSrobert </li> 55*404b540aSrobert <li><a href="test.html">Testing details</a></li> 56*404b540aSrobert <li><a href="debug.html">Debugging schemes and strategies</a> 57*404b540aSrobert </li> 58*404b540aSrobert</ul> 59*404b540aSrobert 60*404b540aSrobert 61*404b540aSrobert<hr /> 62*404b540aSrobert<br /> 63*404b540aSrobert<h2><a name="4">Source-Level Documentation</a></h2> 64*404b540aSrobert<p>The library sources have been specially formatted so that with the 65*404b540aSrobert proper invocation of another tool (Doxygen), a set of HTML pages 66*404b540aSrobert are generated from the sources files themselves. The resultant 67*404b540aSrobert documentation is referred to as Source-Level Documentation, and is 68*404b540aSrobert useful for examining the signatures of public member functions for 69*404b540aSrobert the library classes, finding out what is in a particular include 70*404b540aSrobert file, looking at inheritance diagrams, etc. 71*404b540aSrobert</p> 72*404b540aSrobert<p>The source-level documentation for the most recent releases can 73*404b540aSrobert be viewed online: 74*404b540aSrobert</p> 75*404b540aSrobert<ul> 76*404b540aSrobert <li><a href="libstdc++-html-USERS-3.4/index.html">for the 3.4 release</a></li> 77*404b540aSrobert <li><a href="latest-doxygen/index.html">"the latest collection"</a> 78*404b540aSrobert (for the main development tree; see the date on the first page) 79*404b540aSrobert </li> 80*404b540aSrobert</ul> 81*404b540aSrobert<p>This generated HTML collection, as above, is also available for download in 82*404b540aSrobert the libstdc++ snapshots directory at 83*404b540aSrobert <code><URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/></code>. 84*404b540aSrobert You will almost certainly need to use one of the 85*404b540aSrobert <a href="http://gcc.gnu.org/mirrors.html">mirror sites</a> to download 86*404b540aSrobert the tarball. After unpacking, simply load libstdc++-html-*/index.html 87*404b540aSrobert into a browser. 88*404b540aSrobert</p> 89*404b540aSrobert<p>Documentation for older releases is available for download only, not 90*404b540aSrobert online viewing. 91*404b540aSrobert</p> 92*404b540aSrobert<p>In addition, an initial set of man pages are also available in the 93*404b540aSrobert same place as the HTML collections. Start with C++Intro(3). 94*404b540aSrobert</p> 95*404b540aSrobert 96*404b540aSrobert 97*404b540aSrobert<hr /> 98*404b540aSrobert<br /> 99*404b540aSrobert<h2><a name="3">Chapter-Specific Documentation</a></h2> 100*404b540aSrobert<p>Information, extensions, notes and advice on specific implementation 101*404b540aSrobert capabilites and/or liabilities broken down into chapter names based on the 102*404b540aSrobert C++ standard. 103*404b540aSrobert</p> 104*404b540aSrobert<!-- 105*404b540aSrobert The list below is automatically generated. To make changes in the text, 106*404b540aSrobert edit the appropriate HOWTO file and run "make" in this directory. In 107*404b540aSrobert those files, you may reorder entries as you like, but DO NOT change the 108*404b540aSrobert "#number"s in anchors, for they are used elsewhere and in bookmarks. 109*404b540aSrobert--> 110*404b540aSrobert<!-- beginlist --> 111*404b540aSrobert <ul> 112*404b540aSrobert <li>Library Introduction (Chapter 17) 113*404b540aSrobert <ul> 114*404b540aSrobert <li><a href="17_intro/howto.html#2">The Standard C++ header files</a></li> 115*404b540aSrobert <li><a href="17_intro/howto.html#3">The Standard C++ library and multithreading</a></li> 116*404b540aSrobert <li><a href="17_intro/howto.html#4"><code><foo></code> vs <code><foo.h></code></a></li> 117*404b540aSrobert <li><a href="17_intro/porting-howto.html">Porting HOWTO</a></li> 118*404b540aSrobert <li><a href="17_intro/howto.html#5">Behavior specific to libstdc++-v3</a></li> 119*404b540aSrobert <li><a href="17_intro/howto.html#6">Preprocessor macros controlling the library</a></li> 120*404b540aSrobert </ul> 121*404b540aSrobert </li> 122*404b540aSrobert 123*404b540aSrobert <li>Library Support (Chapter 18) 124*404b540aSrobert <ul> 125*404b540aSrobert <li><a href="18_support/howto.html#1">Types</a></li> 126*404b540aSrobert <li><a href="18_support/howto.html#2">Implementation properties</a></li> 127*404b540aSrobert <li><a href="18_support/howto.html#3">Start and Termination</a></li> 128*404b540aSrobert <li><a href="18_support/howto.html#4">Verbose <code>terminate</code></a></li> 129*404b540aSrobert <li><a href="18_support/howto.html#5">Dynamic memory management</a></li> 130*404b540aSrobert <li><a href="18_support/howto.html#6">RTTI, the ABI, and demangling</a></li> 131*404b540aSrobert </ul> 132*404b540aSrobert </li> 133*404b540aSrobert 134*404b540aSrobert <li>Diagnostics (Chapter 19) 135*404b540aSrobert <ul> 136*404b540aSrobert <li><a href="19_diagnostics/howto.html#1">Adding data to exceptions</a></li> 137*404b540aSrobert <li><a href="19_diagnostics/howto.html#2">Exception class hierarchy diagram</a></li> 138*404b540aSrobert <li><a href="19_diagnostics/howto.html#3">Concept checkers -- <strong>new and improved!</strong></a></li> 139*404b540aSrobert </ul> 140*404b540aSrobert </li> 141*404b540aSrobert 142*404b540aSrobert <li>General Utilities (Chapter 20) 143*404b540aSrobert <ul> 144*404b540aSrobert <li><a href="20_util/howto.html#1"><code>auto_ptr</code> is not omnipotent</a></li> 145*404b540aSrobert <li><a href="20_util/howto.html#2"><code>auto_ptr</code> inside container classes</a></li> 146*404b540aSrobert <li><a href="20_util/howto.html#3">Functors</a></li> 147*404b540aSrobert <li><a href="20_util/howto.html#4">Pairs</a></li> 148*404b540aSrobert <li><a href="20_util/howto.html#5">Memory allocators</a></li> 149*404b540aSrobert </ul> 150*404b540aSrobert </li> 151*404b540aSrobert 152*404b540aSrobert <li>Strings (Chapter 21) 153*404b540aSrobert <ul> 154*404b540aSrobert <li><a href="21_strings/howto.html#1">MFC's CString</a></li> 155*404b540aSrobert <li><a href="21_strings/howto.html#2">A case-insensitive string class</a></li> 156*404b540aSrobert <li><a href="21_strings/howto.html#3">Breaking a C++ string into tokens</a></li> 157*404b540aSrobert <li><a href="21_strings/howto.html#4">Simple transformations</a></li> 158*404b540aSrobert <li><a href="21_strings/howto.html#5">Making strings of arbitrary character types</a></li> 159*404b540aSrobert <li><a href="21_strings/howto.html#6">Shrink-to-fit strings</a></li> 160*404b540aSrobert </ul> 161*404b540aSrobert </li> 162*404b540aSrobert 163*404b540aSrobert <li>Localization (Chapter 22) 164*404b540aSrobert <ul> 165*404b540aSrobert <li><a href="22_locale/howto.html#1">class locale</a></li> 166*404b540aSrobert <li><a href="22_locale/howto.html#2">class codecvt</a></li> 167*404b540aSrobert <li><a href="22_locale/howto.html#3">class ctype</a></li> 168*404b540aSrobert <li><a href="22_locale/howto.html#4">class messages</a></li> 169*404b540aSrobert <li><a href="22_locale/howto.html#5">Bjarne Stroustrup on Locales</a></li> 170*404b540aSrobert <li><a href="22_locale/howto.html#6">Nathan Myers on Locales</a></li> 171*404b540aSrobert <li><a href="22_locale/howto.html#7">Correct Transformations</a></li> 172*404b540aSrobert </ul> 173*404b540aSrobert </li> 174*404b540aSrobert 175*404b540aSrobert <li>Containers (Chapter 23) 176*404b540aSrobert <ul> 177*404b540aSrobert <li><a href="23_containers/howto.html#1">Making code unaware of the container/array difference</a></li> 178*404b540aSrobert <li><a href="23_containers/howto.html#2">Variable-sized bitmasks</a></li> 179*404b540aSrobert <li><a href="23_containers/howto.html#3">Containers and multithreading</a></li> 180*404b540aSrobert <li><a href="23_containers/howto.html#4">"Hinting" during insertion</a></li> 181*404b540aSrobert <li><a href="23_containers/howto.html#5">Bitmasks and string arguments</a></li> 182*404b540aSrobert <li><a href="23_containers/howto.html#6"><code>std::list::size()</code> is O(n)!</a></li> 183*404b540aSrobert <li><a href="23_containers/howto.html#7">Space overhead management for vectors</a></li> 184*404b540aSrobert </ul> 185*404b540aSrobert </li> 186*404b540aSrobert 187*404b540aSrobert <li>Iterators (Chapter 24) 188*404b540aSrobert <ul> 189*404b540aSrobert <li><a href="24_iterators/howto.html#1">They ain't pointers!</a></li> 190*404b540aSrobert <li><a href="24_iterators/howto.html#2">It ends <em>where?</em></a></li> 191*404b540aSrobert </ul> 192*404b540aSrobert </li> 193*404b540aSrobert 194*404b540aSrobert <li>Algorithms (Chapter 25) 195*404b540aSrobert <ul> 196*404b540aSrobert <li><a href="25_algorithms/howto.html#1">Prerequisites</a></li> 197*404b540aSrobert <li><a href="25_algorithms/howto.html#2">Special <code>swap</code>s</a></li> 198*404b540aSrobert </ul> 199*404b540aSrobert </li> 200*404b540aSrobert 201*404b540aSrobert <li>Numerics (Chapter 26) 202*404b540aSrobert <ul> 203*404b540aSrobert <li><a href="26_numerics/howto.html#1">Complex Number Processing</a></li> 204*404b540aSrobert <li><a href="26_numerics/howto.html#2">Array Processing</a></li> 205*404b540aSrobert <li><a href="26_numerics/howto.html#3">Numerical Functions</a></li> 206*404b540aSrobert <li><a href="26_numerics/howto.html#4">C99</a></li> 207*404b540aSrobert </ul> 208*404b540aSrobert </li> 209*404b540aSrobert 210*404b540aSrobert <li>Input/Output (Chapter 27) 211*404b540aSrobert <ul> 212*404b540aSrobert <li><a href="27_io/howto.html#1">Copying a file</a></li> 213*404b540aSrobert <li><a href="27_io/howto.html#2">The buffering is screwing up my program!</a></li> 214*404b540aSrobert <li><a href="27_io/howto.html#3">Binary I/O</a></li> 215*404b540aSrobert <li><a href="27_io/howto.html#5">What is this <sstream>/stringstreams thing?</a></li> 216*404b540aSrobert <li><a href="27_io/howto.html#6">Deriving a stream buffer</a></li> 217*404b540aSrobert <li><a href="27_io/howto.html#7">More on binary I/O</a></li> 218*404b540aSrobert <li><a href="27_io/howto.html#8">Pathetic performance? Ditch C.</a></li> 219*404b540aSrobert <li><a href="27_io/howto.html#9">Threads and I/O</a></li> 220*404b540aSrobert <li><a href="27_io/howto.html#10">Which header?</a></li> 221*404b540aSrobert <li><a href="27_io/howto.html#11">Using FILE*s and file descriptors with IOStreams</a></li> 222*404b540aSrobert </ul> 223*404b540aSrobert </li> 224*404b540aSrobert 225*404b540aSrobert <li>Extensions to the Standard Library 226*404b540aSrobert <ul> 227*404b540aSrobert <li><a href="ext/pb_ds/index.html">Policy Based Data Structures</a></li> 228*404b540aSrobert <li><a href="ext/howto.html#1">Ropes and trees and hashes, oh my!</a></li> 229*404b540aSrobert <li><a href="ext/howto.html#2">Added members and types</a></li> 230*404b540aSrobert <li><a href="ext/mt_allocator.html"><code>__mt_alloc</code> </a></li> 231*404b540aSrobert <li><a href="ext/howto.html#4">Compile-time checks</a></li> 232*404b540aSrobert <li><a href="ext/howto.html#5">LWG Issues</a></li> 233*404b540aSrobert <li><a href="ext/../18_support/howto.html#6">Demangling</a></li> 234*404b540aSrobert </ul> 235*404b540aSrobert </li> 236*404b540aSrobert 237*404b540aSrobert </ul> 238*404b540aSrobert<!-- endlist --> 239*404b540aSrobert 240*404b540aSrobert<hr /> 241*404b540aSrobert<br /> 242*404b540aSrobert<h2><a name="5">Contributor-Specific Information</a></h2> 243*404b540aSrobert<ul> 244*404b540aSrobert <li><a href="17_intro/contribute.html">Contributor checklist</a></li> 245*404b540aSrobert <li><a href="http://gcc.gnu.org/cvswrite.html">Getting CVS write access 246*404b540aSrobert (look for "Write after approval")</a></li> 247*404b540aSrobert <li><a href="17_intro/BADNAMES">BADNAMES</a> 248*404b540aSrobert - names to avoid because of potential collisions</li> 249*404b540aSrobert <li><a href="17_intro/C++STYLE">C++STYLE</a> 250*404b540aSrobert - coding style by example</li> 251*404b540aSrobert <li> In the libstdc++-v3/docs/doxygen directory, see guide.html, a 252*404b540aSrobert doxygen markup style guide</li> 253*404b540aSrobert <li><a href="17_intro/CHECKLIST">CHECKLIST</a> 254*404b540aSrobert - a list of required features and their status.</li> 255*404b540aSrobert <li><a href="17_intro/DESIGN">DESIGN</a> 256*404b540aSrobert - overview of the implementation plan</li> 257*404b540aSrobert <li><a href="17_intro/HEADER_POLICY">HEADER_POLICY</a> 258*404b540aSrobert - header naming and sub-include structure</li> 259*404b540aSrobert</ul> 260*404b540aSrobert 261*404b540aSrobert<!-- ####################################################### --> 262*404b540aSrobert 263*404b540aSrobert<p>Return <a href="http://gcc.gnu.org/libstdc++/">to the libstdc++ homepage</a>.</p> 264*404b540aSrobert 265*404b540aSrobert<hr /> 266*404b540aSrobert<p class="fineprint"><em> 267*404b540aSrobertSee <a href="17_intro/license.html">license.html</a> for copying conditions. 268*404b540aSrobertComments and suggestions are welcome, and may be sent to 269*404b540aSrobert<a href="mailto:libstdc++@gcc.gnu.org">the libstdc++ mailing list</a>. 270*404b540aSrobert</em></p> 271*404b540aSrobert 272*404b540aSrobert</body> 273*404b540aSrobert</html> 274