diff options
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 11 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/17_intro/organization | 84 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/abi.txt | 36 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/documentation.html | 251 |
4 files changed, 225 insertions, 157 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 7c752b02854..a6fcda07ebb 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -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. diff --git a/libstdc++-v3/docs/html/17_intro/organization b/libstdc++-v3/docs/html/17_intro/organization deleted file mode 100644 index 828a8112834..00000000000 --- a/libstdc++-v3/docs/html/17_intro/organization +++ /dev/null @@ -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> - - - - - - - - - diff --git a/libstdc++-v3/docs/html/abi.txt b/libstdc++-v3/docs/html/abi.txt index 6c0ae1e79dd..cbb0426e416 100644 --- a/libstdc++-v3/docs/html/abi.txt +++ b/libstdc++-v3/docs/html/abi.txt @@ -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'?? - -- other ABI checkers +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. + +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 diff --git a/libstdc++-v3/docs/html/documentation.html b/libstdc++-v3/docs/html/documentation.html index 09ead969b40..72e0aa4ceed 100644 --- a/libstdc++-v3/docs/html/documentation.html +++ b/libstdc++-v3/docs/html/documentation.html @@ -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 /> +<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> -<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. + +<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 available user-level collections are also viewable online: +<p>The Source-Level documentation can be viewed 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="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> - 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>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 /> - -<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 /> +<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> -<h2><a name="1">Introductory notes for libstdc++</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. +<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/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> - - 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="17_intro/PROBLEMS">PROBLEMS</a> - <!-- 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 - <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> </ul> - </p> - -<hr /> - -<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> - <!-- ####################################################### --> <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 |