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:
Benjamin Kosnik 2002-07-24 07:55:34 +00:00 committed by Benjamin Kosnik
parent 0ba1b2ff0f
commit 6364054f3a
4 changed files with 232 additions and 164 deletions

View file

@ -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.

View 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>

View file

@ -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

View file

@ -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>&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>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">&quot;the latest collection&quot;</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">&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>
<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