documentation.html: Remove libstdc++-v3.0.86 links...
2002-07-23 Benjamin Kosnik <bkoz@redhat.com> * docs/html/documentation.html: Remove libstdc++-v3.0.86 links, confusing usage of "latest." De-tangle contributor information from introductory notes. Move abi.txt link placement, activate. Re-organize. Move chapter info into old FAQ format. * docs/html/organization.html: Removed, obsoleted by doxygen work. * docs/html/abi.txt: Add notes on testing ABI changes. From-SVN: r55702
This commit is contained in:
parent
0ba1b2ff0f
commit
6364054f3a
4 changed files with 232 additions and 164 deletions
|
@ -1,3 +1,14 @@
|
|||
2002-07-23 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* docs/html/documentation.html: Remove libstdc++-v3.0.86 links,
|
||||
confusing usage of "latest."
|
||||
De-tangle contributor information from introductory notes.
|
||||
Move abi.txt link placement, activate.
|
||||
Re-organize.
|
||||
Move chapter info into old FAQ format.
|
||||
* docs/html/organization.html: Removed, obsoleted by doxygen work.
|
||||
* docs/html/abi.txt: Add notes on testing ABI changes.
|
||||
|
||||
2002-07-20 Phil Edwards <pme@gcc.gnu.org>
|
||||
|
||||
* docs/html/abi.txt: New file.
|
||||
|
|
|
@ -1,84 +0,0 @@
|
|||
20 [lib.utilities]
|
||||
<utility>
|
||||
namespace rel_ops { operators !=, >, <=, >= }
|
||||
struct pair;
|
||||
pair binary operators { operators ==, <, !=, >, >=, <= }
|
||||
<functional>
|
||||
// function objects, or objects with operator() defined
|
||||
<memory>
|
||||
template<T> class allocator;
|
||||
template<> class allocator<void>;
|
||||
template<OutI, T> class raw_storage_iterator;
|
||||
temporary buffers
|
||||
specialized algorithms for uninitialized_{copy, fill, fill_n}
|
||||
template<T> class auto_ptr;
|
||||
<ctime>
|
||||
<cstdlib>
|
||||
<cstring>
|
||||
|
||||
21 [lib.strings]
|
||||
<string>
|
||||
template<T> struct char_traits
|
||||
template<> struct char_traits<char>
|
||||
template<> struct char_traits<wchar_t>
|
||||
template<C, T=c_t<T>, A=a<T> > class basic_string;
|
||||
|
||||
typedef basic_string<char> string;
|
||||
typedef basic_string<wchar_t> wstring;
|
||||
|
||||
template<C, T, A> void swap(string&, string&)
|
||||
template<C, T, A> istream& operator>>(istream&, string&);
|
||||
template<C, T, A> istream& getline(istream&, string&, C);
|
||||
template<C, T, A> istream& getline(istream&, string&);
|
||||
template<C, T, A> ostream& operator<<(ostream&, string&);
|
||||
<cctype>
|
||||
<cwctype>
|
||||
<cstring>
|
||||
<cwchar>
|
||||
<cstdlib>
|
||||
|
||||
23 [lib.containers]
|
||||
<deque>
|
||||
<list>
|
||||
<queue>
|
||||
<stack>
|
||||
<vector>
|
||||
<map>
|
||||
<set>
|
||||
<bitset>
|
||||
|
||||
24 [lib.iterators]
|
||||
<iterator>
|
||||
|
||||
25 [lib.algorithms]
|
||||
<algorithm>
|
||||
non-modifying sequence operations
|
||||
for_each, find, find_if, find_end, find_first_of,
|
||||
adjacent_find, count, count_if, mismatch, equal,
|
||||
search, search_n
|
||||
modifying sequence operations
|
||||
copy, copy_backward, swap, swap_ranges, iter_swap,
|
||||
transform, replace, replace_if, replace_copy,
|
||||
replace_copy_if, fill, fill_n, generate, generate_n,
|
||||
remove, remove_if, remove_copy, remove_copy_if, unique,
|
||||
unique_copy, reverse, reverse_copy, rotate,
|
||||
rotate_copy, random_shuffle
|
||||
sorting and related operations
|
||||
sort, stable_sort, partial_sort, partial_sort_copy,
|
||||
nth_element, lower_bound, upper_bound, equal_range,
|
||||
binary_search, merge, inplace_merge, includes,
|
||||
set_union, set_intersection, set_difference,
|
||||
set_symmetric_difference, push_heap, pop_heap,
|
||||
make_heap, sort_heap, min, max, min_element,
|
||||
max_element, lexicographical_compare, next_permutation,
|
||||
prev_permutation
|
||||
<cstdlib>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -6,7 +6,7 @@ document exists, why it's incomplete, and what needs to be done still.
|
|||
|
||||
===========================
|
||||
|
||||
2002-07-01 Benjamin Kosnik
|
||||
2002-07-23 Benjamin Kosnik
|
||||
|
||||
Description of the libstdc++ ABI.
|
||||
|
||||
|
@ -123,9 +123,37 @@ III. Versioning
|
|||
|
||||
IV. Testing ABI changes
|
||||
|
||||
- 'make check-abi'??
|
||||
Currently, there is no formal testing for changes in the libstdc++
|
||||
ABI. It would be in the best interest of GNU C++ users everywhere to
|
||||
have such a test, and work to develop this test is ongoing.
|
||||
|
||||
- other ABI checkers
|
||||
There is a formal method for checking the compiler parts of the C++
|
||||
ABI, donated by Intel. More information can be obtained
|
||||
<a href="http://developer.intel.com/software/products/opensource/">here.</a>
|
||||
|
||||
To test the library, the following two ideas have been suggested:
|
||||
|
||||
One.
|
||||
(Brendan Kehoe, Jeff Law suggestion to run 'make check-c++' two ways,
|
||||
one with a new compiler and an old library, and the other with an old
|
||||
compiler and a new library, and look for testsuite regressions)
|
||||
|
||||
Two.
|
||||
Have the libstdc++ testesuite proactively check the library
|
||||
ABI. Probably a couple of items would be covered, although perhaps not
|
||||
all would need to be done at once for this to be useful. Compute the
|
||||
list of names exported in the shared version of libstdc++
|
||||
binary. Then, save this list of names. Have this list of names
|
||||
re-computed for each new binary of the same version. Next, use sizeof
|
||||
and offset to compute offsets for each structure and type in the
|
||||
standard library, saving to another datafile. Then, compute this for
|
||||
new binaries, and look for differences.
|
||||
|
||||
The thought is to choose one or both of these approaches, and to use a
|
||||
Makefile hook, perhaps 'make check-abi', to add this capability to the
|
||||
libstdc++ testsuite.
|
||||
|
||||
Perhaps there are other Library ABI checkers. If so, please notify us.
|
||||
|
||||
|
||||
V. Issues not directly addressed, and possible suggestions
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta name="KEYWORDS" content="libstdc++, homepage, home, g++, libg++, STL">
|
||||
<title>Standard C++ Library v3</title>
|
||||
<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>
|
||||
|
@ -13,103 +14,215 @@
|
|||
automatically-generated source documentation, available separately.
|
||||
</p>
|
||||
|
||||
<hr />
|
||||
|
||||
<h2><a name="4">Source Documentation</a></h2>
|
||||
<p>In addition to the distribution documentation (these pages), we also
|
||||
have a set of HTML documents generated from the sources themselves,
|
||||
using the Doxygen tool. These are useful for examining the signatures
|
||||
of public member functions for the library classes, etc.
|
||||
</p>
|
||||
<p>The collections are available in the libstdc++ snapshots directory at
|
||||
<code><URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/></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>The available user-level collections are also viewable online:
|
||||
<ul>
|
||||
<li><a href="libstdc++-html-USERS-3.1/index.html">docs for the 3.1 release</a>
|
||||
<li><a href="libstdc++-html-USERS-3.0.96/index.html">docs for the most
|
||||
recent libstdc++ snapshot (3.0.96)</a>
|
||||
<li><a href="latest-doxygen/index.html">"the latest collection"</a>
|
||||
(for the snapshot or later; see the date on the first page)
|
||||
</ul>
|
||||
Other collections (man pages, maintainer docs) are only available on the
|
||||
FTP sites.
|
||||
</p>
|
||||
|
||||
<p>Beginning with 3.0.95, an initial set of man pages are also available in
|
||||
the same place as the HTML collections. Start with <code>Intro(3)</code>.
|
||||
</p>
|
||||
|
||||
<hr />
|
||||
|
||||
<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>
|
||||
<!-- initial guess: <li><a href="abi.txt">ABI documentation</a> -->
|
||||
</ul>
|
||||
|
||||
<hr />
|
||||
|
||||
<h2><a name="1">Introductory notes for libstdc++</a></h2>
|
||||
<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 follows the name of the file.
|
||||
ISO 14882. A brief description may follow the name of the file.
|
||||
<ul>
|
||||
<li><a href="17_intro/BADNAMES">BADNAMES</a>
|
||||
- names to avoid because of potential collisions
|
||||
<li><a href="17_intro/BUGS">BUGS</a>
|
||||
<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/COPYING">COPYING</a>
|
||||
<li><a href="17_intro/COPYING">License</a>
|
||||
- GPL v2 license terms
|
||||
<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
|
||||
<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>
|
||||
- instructions for building, using
|
||||
- latest version info, recent changes and news
|
||||
<li><a href="17_intro/TODO">TODO</a>
|
||||
- tasks and known bugs
|
||||
<li><a href="17_intro/organization">organization</a>
|
||||
<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>
|
||||
- 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>
|
||||
|
||||
<h2><a name="3">Chapter-Specific Information, Extensions, Notes and Advice</a></h2>
|
||||
<ol>
|
||||
<li><a href="17_intro/howto.html">Chapter 17 (Intro)</a>
|
||||
<li><a href="18_support/howto.html">Chapter 18 (Library Support)</a>
|
||||
<li><a href="19_diagnostics/howto.html">Chapter 19 (Diagnostics)</a>
|
||||
<li><a href="20_util/howto.html">Chapter 20 (Utilities)</a>
|
||||
<li><a href="21_strings/howto.html">Chapter 21 (Strings)</a>
|
||||
<li><a href="22_locale/howto.html">Chapter 22 (Localization)</a>
|
||||
<li><a href="23_containers/howto.html">Chapter 23 (Containers)</a>
|
||||
<li><a href="24_iterators/howto.html">Chapter 24 (Iterators)</a>
|
||||
<li><a href="25_algorithms/howto.html">Chapter 25 (Algorithms)</a>
|
||||
<li><a href="26_numerics/howto.html">Chapter 26 (Numerics)</a>
|
||||
<li><a href="27_io/howto.html">Chapter 27 (I/O)</a>
|
||||
<li><a href="ext/howto.html">Extensions to the Standard Library</a>
|
||||
</ol>
|
||||
|
||||
<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">"the latest collection"</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><URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/></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>
|
||||
<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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue