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