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