aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/docs/html/documentation.html
blob: 72e0aa4ceed1be060a4ff3e51a4ccd3d02c6e315 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
<html>
<head>
 <meta name="KEYWORDS" 
  content="libstdc++, homepage, home, C++, library, c++, std, g++, ABI, STL">
 <title>GNU C++ Standard Library</title>
<link rel="StyleSheet" href="lib3styles.css">
</head>
<body>


<p><strong>All of these documents</strong> (in fact, this entire homepage set)
   are bundled with the library source, under the <code>docs</code>
   subdirectory, for releases and snapshots.  The sole exception is the
   automatically-generated source documentation, available separately.
</p>


<hr />
<br>
<h2><a name="1">Introduction</a></h2>
   <p>This is a short list of text files pertaining to this implementation of
      ISO 14882.  A brief description may follow the name of the file.
      <ul>
         <li><a href="17_intro/COPYING">License</a>
         - GPL v2 license terms
	 <li><a href="abi.txt">ABI Policy and Guidelines</a> 
         <li><a href="17_intro/BUGS">BUGS</a>
         <li><a href="17_intro/PROBLEMS">PROBLEMS</a>
         - target-specific known issues
         <!-- Linking to "../README" doesn't work; we are at the top level
              of the web pages.  Punt.  -->
         <li>README - directory structure
         <li><a href="17_intro/RELEASE-NOTES">RELEASE-NOTES</a>
         - latest version info, recent changes and news
         <li><a href="17_intro/TODO">TODO</a>
         - tasks yet undone
      </ul>
   </p>


<hr />
<br>
<h2><a name="2">Configuring, Building, Installing</a></h2>
  <ul>
   <li><a href="configopts.html">Configure options</a>
   <li><a href="install.html">Getting started:  configure, build, install</a>
  </ul>


<hr />
<br>
<h2><a name="4">Source-Level Documentation</a></h2>
<p>The library sources have been specially formatted so that with the
   proper invocation of another tool (Doxygen), a set of HTML pages
   are generated from the sources files themselves.  The resultant
   documentation is referred to as Source-Level Documentation, and is
   useful for examining the signatures of public member functions for
   the library classes, finding out what is in a particular include
   file, looking at inheritance diagrams, etc.
</p>
<p>The Source-Level documentation can be viewed online:
   <ul>
   <li><a href="libstdc++-html-USERS-3.1/index.html">For the 3.1 release</a>
   <li><a href="latest-doxygen/index.html">&quot;the latest collection&quot;</a>
       (for the snapshot or later; see the date on the first page)
   </ul>
</p>
<p>This generated HTML collection, as above, is also available for download in
   the libstdc++ snapshots directory at
   <code>&lt;URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/&gt;</code>.
   You will almost certainly need to use one of the <a
   href="http://gcc.gnu.org/mirrors.html">mirror sites</a> to download
   the tarball.  After unpacking, simply load
   libstdc++-html-*/index.html into a browser.  Feedback (and
   additional documentation!) is welcome.
</p>
<p>
 In addition, an initial set of man pages are also available in the
 same place as the HTML collections. Start with Intro(3).
</p>


<hr />
<br>
<h2><a name="3">Chapter-Specific Documentation</a></h2>
<p>Information, extensions, notes and advice on specific implementation 
   capabilites and or liabilities broken down into chapter names based on the 
   C++ standard.
</p>
      <ul>
         <li>Intro (Chapter 17)
	 <ul>
         <li><a href="17_intro/howto.html#1">Header files</a>
         <li><a href="17_intro/howto.html#3">Using <foo> vs <foo.h></a>
         <li><a href="17_intro/howto.html#2">Multithreading</a>
         <li><a href="17_intro/howto.html#4">Porting</a>
         <li><a href="17_intro/howto.html#5">Implementation-specific behavior</a>
         <li><a href="17_intro/howto.html#6">Using preprocessor macros to change behavior of the library</a>
	 </ul>

         <li>Library Support (Chapter 18)
	 <ul>
         <li><a href="18_support/howto.html#1">Types</a>
         <li><a href="18_support/howto.html#2">Implementation properties</a>
         <li><a href="18_support/howto.html#3">Start and Termination</a>
         <li><a href="18_support/howto.html#4">Dynamic memory management</a>
         <li><a href="18_support/howto.html#5">RTTI, the ABI, and demangling</a>
	 </ul>


         <li>Diagnostics (Chapter 19)
	 <ul>
         <li><a href="19_diagnostics/howto.html#1">Adding data to exceptions</a>
         <li><a href="19_diagnostics/howto.html#2">Exception class hierarchy diagram</a>
         <li><a href="19_diagnostics/howto.html#3">Concept checkers -- new and improved!</a>
         <li><a href="19_diagnostics/howto.html#4">Verbose terminate</a>
	 </ul>

         <li>Utilities (Chapter 20)
	 <ul>
         <li><a href="20_util/howto.html#1">auto_ptr is not omnipotent</a>
         <li><a href="20_util/howto.html#1">auto_ptr inside container classes</a>
         <li><a href="20_util/howto.html#1">Functors</a>
         <li><a href="20_util/howto.html#1">Pairs</a>
	 </ul>


         <li>Strings (Chapter 21)
	 <ul>
         <li><a href="21_strings/howto.html#1">MFC's CString</a>
         <li><a href="21_strings/howto.html#2">A case-insensitive string class</a>
         <li><a href="21_strings/howto.html#3">Breaking a C++ string into tokens</a>
         <li><a href="21_strings/howto.html#4">Simple transformations</a>
	 </ul>

         <li>Localization (Chapter 22)
	 <ul>
         <li><a href="22_locale/howto.html#1">Class locale</a>
         <li><a href="22_locale/howto.html#2">Class codecvt</a>
         <li><a href="22_locale/howto.html#3">Class ctype</a>
         <li><a href="22_locale/howto.html#4">Class messages</a>
         <li><a href="22_locale/howto.html#5">Bjarne Stroustrup on Locales</a>
         <li><a href="22_locale/howto.html#6">Nathan Myers on Locales</a>
         <li><a href="22_locale/howto.html#7">Correct Transformations </a>
	 </ul>

         <li>Containers (Chapter 23)
	 <ul>
         <li><a href="23_containers/howto.html#1">Making code unaware of the container/array difference</a>
         <li><a href="23_containers/howto.html#2">Variable-sized bitmasks</a>
         <li><a href="23_containers/howto.html#3">Containers and multithreading</a>
         <li><a href="23_containers/howto.html#4">"Hinting" during insertion</a>
         <li><a href="23_containers/howto.html#5">Bitmasks and string arguments</a>
         <li><a href="23_containers/howto.html#6">std::list::size() is O(n)!</a>
         <li><a href="23_containers/howto.html#7">Space overhead management for vectors </a>
	 </ul>

         <li>Iterators (Chapter24)
	 <ul>
         <li><a href="24_iterators/howto.html#1">They aren't pointers!</a>
         <li><a href="24_iterators/howto.html#1">It ends where?</a>
	 </ul>

         <li>Algorithms (Chapter 25)
	 <ul>
         <li><a href="25_algorithms/howto.html#1">Prerequisites</a>
         <li><a href="25_algorithms/howto.html#2">Special swaps</a>
	 </ul>

         <li>Numerics (Chapter 26)
	 <ul>
         <li><a href="26_numerics/howto.html#1">Complex Number Processing</a>
         <li><a href="26_numerics/howto.html#2">Array Processing</a>
         <li><a href="26_numerics/howto.html#3">Numerical Functions</a>
         <li><a href="26_numerics/howto.html#4">C99</a>
	 </ul>

         <li>I/O (Chapter 27)
	 <ul>
         <li><a href="27_io/howto.html#1">Copying a file</a>
         <li><a href="27_io/howto.html#2">The buffering is screwing up my program!</a>
	 </ul>
	 <ul>
         <li><a href="27_io/howto.html#3">Binary I/O</a>
         <li><a href="27_io/howto.html#6">More on binary I/O</a>
         <li><a href="27_io/howto.html#5">Deriving a stream buffer</a>
         <li><a href="27_io/howto.html#4">What is this <sstream>/stringstreams thing?</a>
         <li><a href="27_io/howto.html#7">Pathetic performance? Ditch C.</a>
         <li><a href="27_io/howto.html#8">Threads and I/O</a>
	 </ul>

         <li>Extensions to the Standard Library
	 <ul>
         <li><a href="ext/howto.html#1">Ropes and trees and hashes, oh my!</a>
         <li><a href="ext/howto.html#2">Added members and types</a>
         <li><a href="ext/howto.html#3">Allocators (versions 3.0, 3.1, 3.2)</a>
         <li><a href="ext/howto.html#4">Allocators (version 3.3)</a>
         <li><a href="ext/howto.html#5">Compile-time checks</a>
         <li><a href="ext/howto.html#6">LWG Issues</a>
	 </ul>
      </ul>

<hr />
<br>
<h2><a name="5">Contributor-Specific Information</a></h2>
      <ul>
         <li><a href="17_intro/contribute.html">Contributor checklist</a>
         <li><a href="17_intro/libstdc++-assign.txt">Copyright assignment form for libstdc++-v3</a>
         <li><a href="17_intro/BADNAMES">BADNAMES</a>
         - names to avoid because of potential collisions
         <li><a href="17_intro/C++STYLE">C++STYLE</a>
         - coding style by example
         <li><a href="17_intro/CHECKLIST">CHECKLIST</a>
         - a list of required features and their status.
         <li><a href="17_intro/DESIGN">DESIGN</a>
         - overview of the implementation plan
         <li><a href="17_intro/HEADER_POLICY">HEADER_POLICY</a>
         - header naming and sub-include structure
      </ul>

<!-- ####################################################### -->

<p>Return <a href="http://gcc.gnu.org/libstdc++/">to the libstdc++ homepage</a>.</p>

<hr />
<p class="fineprint"><em>
See <a href="17_intro/license.html">license.html</a> for copying conditions.
Comments and suggestions are welcome, and may be sent to
<a href="mailto:libstdc++@gcc.gnu.org">the libstdc++ mailing list</a>.
</em></p>

</body>
</html>