OSDN Git Service

2003-11-18 Jonathan Wakely <redi@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / docs / html / documentation.html
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" 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.txt">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>
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.3/index.html">for the 3.3 release</a></li>
77  <li><a href="latest-doxygen/index.html">&quot;the latest collection&quot;</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>&lt;URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/&gt;</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>&lt;foo&gt;</code> vs <code>&lt;foo.h&gt;</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">Dynamic memory management</a></li>
129      <li><a href="18_support/howto.html#5">RTTI, the ABI, and demangling</a></li>
130    </ul>
131    </li>
132
133    <li>Diagnostics (Chapter 19)
134    <ul>
135      <li><a href="19_diagnostics/howto.html#1">Adding data to exceptions</a></li>
136      <li><a href="19_diagnostics/howto.html#2">Exception class hierarchy diagram</a></li>
137      <li><a href="19_diagnostics/howto.html#3">Concept checkers -- <strong>new and improved!</strong></a></li>
138      <li><a href="19_diagnostics/howto.html#4">Verbose <code>terminate</code></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    </ul>
160    </li>
161
162    <li>Localization (Chapter 22)
163    <ul>
164      <li><a href="22_locale/howto.html#1">class locale</a></li>
165      <li><a href="22_locale/howto.html#2">class codecvt</a></li>
166      <li><a href="22_locale/howto.html#3">class ctype</a></li>
167      <li><a href="22_locale/howto.html#4">class messages</a></li>
168      <li><a href="22_locale/howto.html#5">Bjarne Stroustrup on Locales</a></li>
169      <li><a href="22_locale/howto.html#6">Nathan Myers on Locales</a></li>
170      <li><a href="22_locale/howto.html#7">Correct Transformations</a></li>
171    </ul>
172    </li>
173
174    <li>Containers (Chapter 23)
175    <ul>
176      <li><a href="23_containers/howto.html#1">Making code unaware of the container/array difference</a></li>
177      <li><a href="23_containers/howto.html#2">Variable-sized bitmasks</a></li>
178      <li><a href="23_containers/howto.html#3">Containers and multithreading</a></li>
179      <li><a href="23_containers/howto.html#4">&quot;Hinting&quot; during insertion</a></li>
180      <li><a href="23_containers/howto.html#5">Bitmasks and string arguments</a></li>
181      <li><a href="23_containers/howto.html#6"><code>std::list::size()</code> is O(n)!</a></li>
182      <li><a href="23_containers/howto.html#7">Space overhead management for vectors</a></li>
183    </ul>
184    </li>
185
186    <li>Iterators (Chapter 24)
187    <ul>
188      <li><a href="24_iterators/howto.html#1">They ain't pointers!</a></li>
189      <li><a href="24_iterators/howto.html#2">It ends <em>where?</em></a></li>
190    </ul>
191    </li>
192
193    <li>Algorithms (Chapter 25)
194    <ul>
195      <li><a href="25_algorithms/howto.html#1">Prerequisites</a></li>
196      <li><a href="25_algorithms/howto.html#2">Special <code>swap</code>s</a></li>
197    </ul>
198    </li>
199
200    <li>Numerics (Chapter 26)
201    <ul>
202      <li><a href="26_numerics/howto.html#1">Complex Number Processing</a></li>
203      <li><a href="26_numerics/howto.html#2">Array Processing</a></li>
204      <li><a href="26_numerics/howto.html#3">Numerical Functions</a></li>
205      <li><a href="26_numerics/howto.html#4">C99</a></li>
206    </ul>
207    </li>
208
209    <li>Input/Output (Chapter 27)
210    <ul>
211      <li><a href="27_io/howto.html#1">Copying a file</a></li>
212      <li><a href="27_io/howto.html#2">The buffering is screwing up my program!</a></li>
213      <li><a href="27_io/howto.html#3">Binary I/O</a></li>
214      <li><a href="27_io/howto.html#5">What is this &lt;sstream&gt;/stringstreams thing?</a></li>
215      <li><a href="27_io/howto.html#6">Deriving a stream buffer</a></li>
216      <li><a href="27_io/howto.html#7">More on binary I/O</a></li>
217      <li><a href="27_io/howto.html#8">Pathetic performance?  Ditch C.</a></li>
218      <li><a href="27_io/howto.html#9">Threads and I/O</a></li>
219      <li><a href="27_io/howto.html#10">Which header?</a></li>
220      <li><a href="27_io/howto.html#11">Using FILE*s and file descriptors with IOStreams</a></li>
221    </ul>
222    </li>
223
224    <li>Extensions to the Standard Library
225    <ul>
226      <li><a href="ext/howto.html#1">Ropes and trees and hashes, oh my!</a></li>
227      <li><a href="ext/howto.html#2">Added members and types</a></li>
228      <li><a href="ext/howto.html#3">Allocators (versions 3.0, 3.1, 3.2, 3.3)</a></li>
229      <li><a href="ext/howto.html#6">Allocators (version 3.4)</a></li>
230      <li><a href="ext/howto.html#4">Compile-time checks</a></li>
231      <li><a href="ext/howto.html#5">LWG Issues</a></li>
232      <li><a href="ext/../18_support/howto.html#5">Demangling</a></li>
233    </ul>
234    </li>
235
236   </ul>
237 <!-- endlist -->
238
239 <hr />
240 <br />
241 <h2><a name="5">Contributor-Specific Information</a></h2>
242 <ul>
243    <li><a href="17_intro/contribute.html">Contributor checklist</a></li>
244    <li><a href="http://gcc.gnu.org/cvswrite.html">Getting CVS write access
245        (look for &quot;Write after approval&quot;)</a></li>
246    <li><a href="17_intro/BADNAMES">BADNAMES</a>
247        - names to avoid because of potential collisions</li>
248    <li><a href="17_intro/C++STYLE">C++STYLE</a>
249        - coding style by example</li>
250    <li> In the libstdc++-v3/docs/doxygen directory, see guide.html, a
251        doxygen markup style guide</li>
252    <li><a href="17_intro/CHECKLIST">CHECKLIST</a>
253        - a list of required features and their status.</li>
254    <li><a href="17_intro/DESIGN">DESIGN</a>
255        - overview of the implementation plan</li>
256    <li><a href="17_intro/HEADER_POLICY">HEADER_POLICY</a>
257        - header naming and sub-include structure</li>
258 </ul>
259
260 <!-- ####################################################### -->
261
262 <p>Return <a href="http://gcc.gnu.org/libstdc++/">to the libstdc++ homepage</a>.</p>
263
264 <hr />
265 <p class="fineprint"><em>
266 See <a href="17_intro/license.html">license.html</a> for copying conditions.
267 Comments and suggestions are welcome, and may be sent to
268 <a href="mailto:libstdc++@gcc.gnu.org">the libstdc++ mailing list</a>.
269 </em></p>
270
271 </body>
272 </html>