diff options
author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-01-18 08:16:51 +0000 |
---|---|---|
committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-01-18 08:16:51 +0000 |
commit | 0aeadebf36eab6d537b67b38c5dcacf648f2f69f (patch) | |
tree | 0fd3dc60ac26e2ec9502783b72d38867bcb418d8 /libstdc++-v3/docs/doxygen | |
parent | 9e61be0719e3f9d3bda483eaaf71ee67f02e81ae (diff) | |
download | gcc-0aeadebf36eab6d537b67b38c5dcacf648f2f69f.tar.gz |
2008-01-18 Benjamin Kosnik <bkoz@redhat.com>
* docs/*: To...
* doc/*: ...here.
* testsuite/Makefile.am: Move doc-performance to...
* Makefile.am: Add doc to SUBDIRS, move doxygen-* rules to...
* doc/Makefile.am: Consolidate documentation creation here.
(doc-doxygen-html): New.
(doc-doxygen-man): New.
(doc-performance): New.
* doc/Makefile.in: New.
* acinclude.m4 (glibcxx_SUBDIRS): Add doc directory.
* doc/doxygen/guide.html: Edit for unified html configuration.
* doc/doxygen/mainpage.html: Same.
* doc/doxygen/run_doxygen: Same, more namespace fixups for man
generation.
* doc/doxygen/user.cfg.in: Update for doxygen 1.5.4.
* include/tr1_impl/random: Remove maint from doxygen markup.
* include/tr1_impl/functional: Same.
* include/std/tuple: Same.
* include/std/streambuf: Same.
* include/std/bitset: Same.
* include/std/limits: Same.
* include/std/fstream: Same.
* include/std/istream: Same.
* include/std/sstream: Same.
* include/ext/pool_allocator.h: Same.
* include/ext/rc_string_base.h: Same.
* include/bits/basic_ios.h: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/locale_classes.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_iterator_base_types.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/ios_base.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/postypes.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stl_iterator.h: Same.
* include/bits/stl_tempbuf.h: Same.
* include/bits/stl_construct.h: Same.
* include/bits/stl_relops.h: Same.
* include/tr1/tuple: Same.
* include/backward/auto_ptr.h: Same.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Fixups for line number changes.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/20_util/auto_ptr/assign_neg.cc: Same.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* libmath/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
* scripts/make_graphs.py: Correct paths for new layout.
2008-01-17 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (AC_LC_MESSAGES): Remove serial.
* linkage.m4 (AC_REPLACE_MATHFUNCS): Same.
* configure: Regenerate.
* aclocal.m4: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131625 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/docs/doxygen')
-rw-r--r-- | libstdc++-v3/docs/doxygen/Intro.3 | 132 | ||||
-rw-r--r-- | libstdc++-v3/docs/doxygen/TODO | 70 | ||||
-rw-r--r-- | libstdc++-v3/docs/doxygen/doxygroups.cc | 238 | ||||
-rw-r--r-- | libstdc++-v3/docs/doxygen/guide.html | 112 | ||||
-rw-r--r-- | libstdc++-v3/docs/doxygen/mainpage.html | 101 | ||||
-rw-r--r-- | libstdc++-v3/docs/doxygen/run_doxygen | 328 | ||||
-rw-r--r-- | libstdc++-v3/docs/doxygen/stdheader.cc | 170 | ||||
-rw-r--r-- | libstdc++-v3/docs/doxygen/style.css | 74 | ||||
-rw-r--r-- | libstdc++-v3/docs/doxygen/tables.html | 645 | ||||
-rw-r--r-- | libstdc++-v3/docs/doxygen/user.cfg.in | 1436 |
10 files changed, 0 insertions, 3306 deletions
diff --git a/libstdc++-v3/docs/doxygen/Intro.3 b/libstdc++-v3/docs/doxygen/Intro.3 deleted file mode 100644 index cb3ff2e4a1e..00000000000 --- a/libstdc++-v3/docs/doxygen/Intro.3 +++ /dev/null @@ -1,132 +0,0 @@ -.\" t -.\" This man page is released under the FDL as part of libstdc++. -.TH C++Intro 3 "20 May 2004" "GNU libstdc++" "Standard C++ Library" -.SH NAME -C++Intro \- Introduction to the GNU libstdc++ man pages -.SH DESCRIPTION -This man page serves as a brief introduction to the GNU implementation of -the Standard C++ Library. For a better introduction and more complete -documentation, see the -.B libstdc++ -homepage listed at the end. -.P -All standard library entities are declared within -.I namespace std -and have manual entries beginning with "std::". For example, to see -documentation of the template class -.I std::vector -one would use "man std::vector". Some entities do not have a separate man -page; for those see the main listing in "man Namespace_std". -.P -All the man pages are automatically generated by Doxygen. For more -information on this tool, see the HTML counterpart to these man pages. -.P -Some man pages do not correspond to individual classes or functions. Rather -they describe categories of the Standard Library. (For a more thorough -introduction to the various categories, consult a text such as Josuttis' -or Austern's.) These category pages are: -.P -.\" These are separated by ONE TAB. Nothing else. I don't like it either. -.TS -lB l. -C++Intro This page. -Namespace_std A listing of the contents of std::. -Namespace___gnu_cxx A listing of the contents of __gnu_cxx::. -Containers An introduction to container classes. -Sequences Linear containers. -Assoc_containers Key-based containers. -Iterator_types Programatically distinguishing iterators/pointers. -Intro_functors An introduction to function objects, or functors. -Arithmetic_functors Functors for basic math. -Binder_functors Functors which "remember" an argument. -Comparison_functors Functors wrapping built-in comparisons. -Func_ptr_functors Functors for use with pointers to functions. -Logical_functors Functors wrapping the Boolean operations. -Member_ptr_functor Functors for use with pointers to members. -Negation_functors Functors which negate their contents. -SGIextensions A list of the extensions from the SGI STL subset. - -.TE -.P -The HTML documentation typically goes into much more depth. -.SH FILES -Lots! -.SS Standard Headers -These headers will be found automatically, unless you instruct the compiler -otherwise. -.TS -lB lB lB lB. -<algorithm> <csignal> <iomanip> <ostream> -<bitset> <cstdarg> <ios> <queue> -<cassert> <cstddef> <iosfwd> <set> -<cctype> <cstdio> <iostream> <sstream> -<cerrno> <cstdlib> <istream> <stack> -<cfloat> <cstring> <iterator> <stdexcept> -<ciso>646 <ctime> <limits> <streambuf> -<climits> <cwchar> <list> <string> -<clocale> <cwctype> <locale> <utility> -<cmath> <deque> <map> <valarray> -<complex> <fstream> <memory> <vector> -<csetjmp> <functional> <numeric> -.TE -.SS Backwards-Compatibility Headers -For GCC 3.0 these headers will be found automatically, unless you instruct -the compiler otherwise. You should not depend on this, instead you should -read FAQ 5.4 and use a -.B backward/ -prefix. -.TS -lB lB lB lB. -<strstream> -.TE -.SS Extension Headers -These headers will only be found automatically if you include the leading -.B ext/ -in the name. Otherwise you need to read FAQ 5.4. -.\" Easy way to generate these columns of headers is to use GNU ls(1): -.\" ls -w 40 file1 file2... | sed 's=[a-z_][a-z_]*=<ext/&>=g' -.TS -lB lB. -<ext/algorithm> <ext/numeric> -<ext/functional> <ext/iterator> -<ext/slist> <ext/rb_tree> -<ext/rope> <ext/memory> -<ext/bitmap_allocator.h> <ext/debug_allocator.h> -<ext/malloc_allocator.h> <ext/mt_allocator.h> -<ext/pool_allocator.h> <ext/pod_char_traits.h> -<ext/stdio_filebuf.h> <ext/stdio_sync_filebuf.h> -.TE -.SS Libraries -.TP -.I libstdc++.a -The library implementation in static archive form. If you did not configure -libstdc++ to use shared libraries, this will always be used. Otherwise -it will only be used if the user requests it. -.TP -.I libsupc++.a -This library contains C++ language support routines. Usually you will never -need to know about it, but it can be useful. See FAQ 2.5. -.TP -.I libstdc++.so[.N] -The library implementation in shared object form. This will be used in -preference to the static archive form by default. N will be a number equal -to or greater than 3. If N is in the 2.x series, then you are looking at -the old libstdc++-v2 library, which we do not maintain. -.TP -.I libstdc++.la -.TP -.I libsupc++.la -These are Libtool library files, and should only be used when working with -that tool. -.SH CONFORMING TO -Almost conforming to -.BI "International Standard ISO/IEC 14882:1998(E), " "Programming Languages --- C++" -(aka the C++ standard), in addition to corrections proposed by the Library -Working Group, -.SM JTC1/SC22/WG21. -.SH SEE ALSO -.UR -http://gcc.gnu.org/libstdc++/ -.UE -for the Frequently Asked Questions, online documentation, and much, much more! -.\" vim:ts=8:noet: diff --git a/libstdc++-v3/docs/doxygen/TODO b/libstdc++-v3/docs/doxygen/TODO deleted file mode 100644 index d50c65d8bab..00000000000 --- a/libstdc++-v3/docs/doxygen/TODO +++ /dev/null @@ -1,70 +0,0 @@ - -The approach I've been using for a given header is to recursively do each -of the "bits" headers which make up the standard header. So, e.g., while -there are four headers making up <algorithm>, three of them were already -documented in the course of doing other headers. - -"Untouched" means I've deliberately skipped it for various reasons, or -haven't gotten to it yet. It /will/ be done (by somebody, eventually.) - -If you document an area and need to skip (for whatever reason) a non-trivial -entity (i.e., one that should be documented), go ahead and add the comment -markup, and use the homegrown @doctodo tag. See include/bits/stl_iterator.h -for examples of this. Doing so will at least cause doxygen to consider the -entitiy as documented and include it in the output. It will also add the -entity to the generated TODO page. - - - Area Still needs to be doxygen-documented ------------------------------------------------------------ - -c17 FINISHED (Nothing in Clause 17 "exists" in terms of code.) -c18 FINISHED, Note A -c19 Note A -c20 Note A -c21 Public functions basic_string done, Note B -c22 Most still to do; see docs/html/22_locale/* -c23 See doxygroups.cc and Note B. Notes on what invalidates - iterators need to be added. -c24 stl_iterator.h (__normal_iterator, other small TODO bits) - stream iterators -c25 stl_algo.h (lots of stuff) -c26 <complex>, <valarray>, stl_numeric.h[26.4], Note A -c27 ios_base callbacks and local storage - basic_ios::copyfmt() - std_streambuf.h's __copy_streambufs() - " " _M_* protected memfns (data has been done) - fstream and sstream protected members - -backward/* Not scanned by doxygen. Should it be? Doubtful. - -ext/* Some of the SGI algorithm/functional extensions. - All of rope/hashing/slist need docs. - -__gnu_cxx Tricky. Right now ext/* are in this namespace. - ------------------------------------------------------------ - -NOTES: - -A) So far I have not tried to document any of the <c*> headers. So entities -such as atexit() are undocumented throughout the library. Since we usually -do not have the C code (to which the doxygen comments would be attached), -this would need to be done in entirely separate files, a la doxygroups.cc. - -B) Huge chunks of containers and strings are described in common "Tables" -in the standard. These are pseudo-duplicated in tables.html. We can -use doxygen hooks like @pre and @see to reference the tables. Then the -individual classes do like the standard does, and only document members for -which additional info is available. - - -STYLE: -stl_deque.h, stl_pair.h, and stl_algobase.h have good examples of what I've -been using for class, namespace-scope, and function documentation, respectively. -These should serve as starting points. /Please/ maintain the inter-word and -inter-sentence spacing, as this might be generated and/or scanned in the -future. - - -vim:ts=4:et: diff --git a/libstdc++-v3/docs/doxygen/doxygroups.cc b/libstdc++-v3/docs/doxygen/doxygroups.cc deleted file mode 100644 index 68d142fdbfb..00000000000 --- a/libstdc++-v3/docs/doxygen/doxygroups.cc +++ /dev/null @@ -1,238 +0,0 @@ -/* - Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc. - See license.html for license. - - This just provides documentation for stuff that doesn't need to be in the - source headers themselves. It is a ".cc" file for the sole cheesy reason - that it triggers many different text editors into doing Nice Things when - typing comments. However, it is mentioned nowhere except the *cfg.in files. - - Some actual code (declarations) is exposed here, but no compiler ever - sees it. The decls must be visible to doxygen, and sometimes their real - declarations are not visible, or not visible in a way we want. - - Pieces separated by '// //' lines will usually not be presented to the - user on the same page. -*/ - -// // // // // // // // // // // // // // // // // // // // // // // // -/** @namespace std - * @brief Everything defined by the ISO C++ Standard is within - * namespace <a class="el" href="namespacestd.html">std</a>. -*/ -/** @namespace std::__detail - * @brief Implementation details not part of the namespace <a class="el" - * href="namespacestd.html">std</a> interface. -*/ -/** @namespace std::tr1 - * @brief Everything defined by the ISO C++ TR1 is within namespace std::tr1. -*/ -/** @namespace std::tr1::__detail - * @brief Implementation details not part of the namespace std::tr1 interface. -*/ -/** @namespace __gnu_cxx - * @brief GNU extensions for public use. -*/ -/** @namespace __gnu_cxx::__detail - * @brief Implementation details not part of the namespace __gnu_cxx - * interface. -*/ -/** @namespace __gnu_cxx::typelist - * @brief GNU typelist extensions for public compile-time use. -*/ -/** @namespace __gnu_internal - * @brief GNU implemenation details, not for public use or - * export. Used only when anonymous namespaces cannot be substituted. -*/ -/** @namespace __gnu_debug - * @brief GNU debug classes for public use. -*/ -// // // // // // // // // // // // // // // // // // // // // // // // -/** @addtogroup SGIextensions STL extensions from SGI -Because libstdc++ based its implementation of the STL subsections of -the library on the SGI 3.3 implementation, we inherited their extensions -as well. - -They are additionally documented in the -<a href="http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html"> -online documentation</a>, a copy of which is also shipped with the -library source code (in .../docs/html/documentation.html). You can also -read the documentation <a href="http://www.sgi.com/tech/stl/">on SGI's -site</a>, which is still running even though the code is not maintained. - -<strong>NB</strong> that the following notes are pulled from various -comments all over the place, so they may seem stilted. -<hr> -*/ - -// // // // // // // // // // // // // // // // // // // // // // // // -// This is standalone because, unlike the functor introduction, there is no -// single header file which serves as a base "all containers must include -// this header". We do some quoting of 14882 here. -/** @addtogroup Containers Containers -Containers are collections of objects. - -A container may hold any type which meets certain requirements, but the type -of contained object is chosen at compile time, and all objects in a given -container must be of the same type. (Polymorphism is possible by declaring a -container of pointers to a base class and then populating it with pointers to -instances of derived classes. Variant value types such as the @c any class -from <a href="http://www.boost.org/">Boost</a> can also be used. - -All contained types must be @c Assignable and @c CopyConstructible. -Specific containers may place additional requirements on the types of -their contained objects. - -Containers manage memory allocation and deallocation themselves when -storing your objects. The objects are destroyed when the container is -itself destroyed. Note that if you are storing pointers in a container, -@c delete is @e not automatically called on the pointers before destroying them. - -All containers must meet certain requirements, summarized in -<a href="tables.html">tables</a>. - -The standard containers are further refined into -@link Sequences Sequences@endlink and -@link Assoc_containers Associative Containers@endlink. -*/ - -/** @addtogroup Sequences Sequences -Sequences arrange a collection of objects into a strictly linear order. - -The differences between sequences are usually due to one or both of the -following: - - memory management - - algorithmic complexity - -As an example of the first case, @c vector is required to use a contiguous -memory layout, while other sequences such as @c deque are not. - -The prime reason for choosing one sequence over another should be based on -the second category of differences, algorithmic complexity. For example, if -you need to perform many inserts and removals from the middle of a sequence, -@c list would be ideal. But if you need to perform constant-time access to -random elements of the sequence, then @c list should not be used. - -All sequences must meet certain requirements, summarized in -<a href="tables.html">tables</a>. -*/ - -/** @addtogroup Assoc_containers Associative Containers -Associative containers allow fast retrieval of data based on keys. - -Each container type is parameterized on a @c Key type, and an ordering -relation used to sort the elements of the container. - -There should be more text here. - -All associative containers must meet certain requirements, summarized in -<a href="tables.html">tables</a>. -*/ - -// // // // // // // // // // // // // // // // // // // // // // // // -/** @namespace abi - * @brief The cross-vendor C++ Application Binary Interface. A - * namespace alias to __cxxabiv1. - * - * A brief overview of an ABI is given in the libstdc++ FAQ, question - * 5.8 (you may have a copy of the FAQ locally, or you can view the online - * version at http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#5_8). - * - * GCC subscribes to a relatively-new cross-vendor ABI for C++, sometimes - * called the IA64 ABI because it happens to be the native ABI for that - * platform. It is summarized at http://www.codesourcery.com/cxx-abi/ - * along with the current specification. - * - * For users of GCC greater than or equal to 3.x, entry points are - * available in <cxxabi.h>, which notes, <em>"It is not normally - * necessary for user programs to include this header, or use the - * entry points directly. However, this header is available should - * that be needed."</em> -*/ - -namespace abi { -/** -@brief New ABI-mandated entry point in the C++ runtime library for demangling. - -@param mangled_name A NUL-terminated character string containing the name - to be demangled. - -@param output_buffer A region of memory, allocated with malloc, of - @a *length bytes, into which the demangled name - is stored. If @a output_buffer is not long enough, - it is expanded using realloc. @a output_buffer may - instead be NULL; in that case, the demangled name is - placed in a region of memory allocated with malloc. - -@param length If @a length is non-NULL, the length of the buffer containing - the demangled name is placed in @a *length. - -@param status @a *status is set to one of the following values: - - 0: The demangling operation succeeded. - - -1: A memory allocation failiure occurred. - - -2: @a mangled_name is not a valid name under the C++ ABI - mangling rules. - - -3: One of the arguments is invalid. - -@return A pointer to the start of the NUL-terminated demangled name, or NULL - if the demangling fails. The caller is responsible for deallocating - this memory using @c free. - - -The demangling is performed using the C++ ABI mangling rules, with -GNU extensions. For example, this function is used -in __gnu_cxx::__verbose_terminate_handler. See -http://gcc.gnu.org/onlinedocs/libstdc++/18_support/howto.html#5 for other -examples of use. - -@note The same demangling functionality is available via libiberty -(@c <libiberty/demangle.h> and @c libiberty.a) in GCC 3.1 and later, but that -requires explicit installation (@c --enable-install-libiberty) and uses a -different API, although the ABI is unchanged. -*/ -char* __cxa_demangle (const char* mangled_name, char* output_buffer, - size_t* length, int* status); -} // namespace abi - -// // // // // // // // // // // // // // // // // // // // // // // // -/** @addtogroup binarysearch Binary search algorithms -These algorithms are variations of a classic binary search. They all assume -that the sequence being searched is already sorted. - -The number of comparisons will be logarithmic (and as few as possible). -The number of steps through the sequence will be logarithmic for -random-access iterators (e.g., pointers), and linear otherwise. - -The LWG has passed Defect Report 270, which notes: <em>The proposed -resolution reinterprets binary search. Instead of thinking about searching -for a value in a sorted range, we view that as an important special -case of a more general algorithm: searching for the partition point in a -partitioned range. We also add a guarantee that the old wording did not: -we ensure that the upper bound is no earlier than the lower bound, that -the pair returned by equal_range is a valid range, and that the first part -of that pair is the lower bound.</em> - -The actual effect of the first sentence is that a comparison functor -passed by the user doesn't necessarily need to induce a strict weak ordering -relation. Rather, it partitions the range. -*/ - -// // // // // // // // // // // // // // // // // // // // // // // // -/** @addtogroup setoperations Set operation algorithms -These algorithms are common set operations performed on sequences that are -already sorted. - -The number of comparisons will be linear. -*/ - -// // // // // // // // // // // // // // // // // // // // // // // // - -// // // // // // // // // // // // // // // // // // // // // // // // -/* * @addtogroup groupname description of group -placeholder text -*/ - -// // // // // // // // // // // // // // // // // // // // // // // // - -// vim:et:noai: - diff --git a/libstdc++-v3/docs/doxygen/guide.html b/libstdc++-v3/docs/doxygen/guide.html deleted file mode 100644 index 30c8725e8e0..00000000000 --- a/libstdc++-v3/docs/doxygen/guide.html +++ /dev/null @@ -1,112 +0,0 @@ -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> - <title>Build and Writing Guide for libstdc++ Doxygen</title> - <link href="style.css" rel="stylesheet" type="text/css"> -</head> - -<body bgcolor="#ffffff"> - -<h1>libstdc++ Source Documentation</h1> - -<p>This file is docs/doxygen/guide.html in the libstdc++ source tree. It - is not included in the generated pages (no real point to doing that). -</p> - -<ul> - <li><a href="#creating">Creating the pages</a></li> - <li><a href="#writing">Writing the markup</a></li> -</ul> - -<hr /> - -<a name="creating"><h2>Creating the pages</h2></a> -<p>The Makefile rules <code>'make doxygen'</code>, - <code>'make doxygen-maint'</code>, and <code>'make doxygen-man'</code> - in the libstdc++ build directory generate the user-level HTML docs, the - maintainer-level HTML docs, and the man pages, respectively. Prerequisite - tools are Bash 2.x, - <a href="http://www.doxygen.org/"> - <!-- snagged from the generated page --> - <img src="doxygen.png" alt="Doxygen" align=center border=0 width=110 height=53> - </a>, a working version of <code>g++</code> somewhere in the PATH, and - the <a href="http://www.gnu.org/software/coreutils/">GNU coreutils</a>. - - In addition, to generate the pretty pictures, the - <a href= - "http://www.research.att.com/sw/tools/graphviz/download.html">Graphviz</a> - package will need to be installed. - (g++ is used to build a program which manipulates man pages. GNU versions - of find, xargs, and possibly sed and grep are used, just because the GNU - versions make things very easy.) -</p> - -<p>Careful observers will see that the Makefile rules simply call a script - from the source tree, <code>run_doxygen</code>, which does the actual work - of running Doxygen and then (most importantly) massaging the output files. - If for some reason you prefer to not go through the Makefile, you can call - this script directly. (Start by passing <code>'--help'</code>.) -</p> - -<p>If you wish to tweak the Doxygen settings, do so by editing - <code>docs/doxygen/user.cfg.in</code>. Notes to v3-hackers are written in - triple-# comments. -</p> - -<a name="writing"><h2>Writing the markup</h2></a> -<p>In general, libstdc++ files should be formatted according to the GNU - C++ Coding Standard rules found in the file - <a href="http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/C++STYLE">C++STYLE</a>. - Before any doxygen-specific formatting tweaks are made, please try to make - sure that the initial formatting is sound. -</p> - -<p>Adding Doxygen markup to a file (informally called "doxygenating") is very - simple. The Doxygen manual can be found - <a href="http://www.stack.nl/~dimitri/doxygen/download.html#latestman">here</a>. - We try to use a very-recent version of Doxygen. -</p> - -<h3>Doxygen style guide</h3> -<p>[incomplete and constantly evolving]</p> - -<p>For classes, use deque/vector/list and std::pair as examples. For - functions, see their member functions, and the free functions in - <code>stl_algobase.h</code>. Member functions of other container-like - types should read similarly to these member functions. -</p> - -<p>These points accompany the first list in section 3.1 of the Doxygen manual: -</p> -<ol> - <li>Use the Javadoc style...</li> - <li>...not the Qt style. The intermediate *'s are preferred.</li> - <li>Use the triple-slash style only for one-line comments (the "brief" mode). - Very recent versions of Doxygen permit full-mode comments in triple-slash - blocks, but the formatting still comes out wonky.</li> - <li>This is disgusting. Don't do this.</li> -</ol> - -<p>Use the @-style of commands, not the !-style. Please be careful about - whitespace in your markup comments. Most of the time it doesn't matter; - doxygen absorbs most whitespace, and both HTML and *roff are agnostic about - whitespace. However, in <pre> blocks and @code/@endcode sections, - spacing can have "interesting" effects. -</p> - -<p>Use either kind of grouping, as appropriate. <code>doxygroups.cc</code> - exists for this purpose. See <code>stl_iterator.h</code> for a good - example of the "other" kind of grouping. -</p> - -<p>Please use markup tags like @p and @a when referring to things such as the - names of function parameters. Use @e for emphasis when necessary. Use @c - to refer to other standard names. (Examples of all these abound in the - present code.) -</p> - -</body> -</html> diff --git a/libstdc++-v3/docs/doxygen/mainpage.html b/libstdc++-v3/docs/doxygen/mainpage.html deleted file mode 100644 index 2f57764fae8..00000000000 --- a/libstdc++-v3/docs/doxygen/mainpage.html +++ /dev/null @@ -1,101 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<html> -<head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>libstdc++ Source: Main Index</title> -<link href="style.css" rel="stylesheet" type="text/css"> -</head> - -<body bgcolor="#ffffff"> -<!-- - Originally generated by Doxygen 1.2.12. - - This used to be surrounded by /* */ marks and tagged with @mainpage, so - that Doxygen would create the index page from it. HOWEVER, Doxygen - ignores all but the most basic HTML tags, and even with those it strips - all the attributes. (See, the HTML you write for @mainpage isn't used - directly; it all gets run through Doxygen and re-output.) So lots of - tags were all being mangled. - - Funk 'dat. Now we let Doxygen do whatever it feels like doing for the - index page, and then we just flat copy this over top of it. Voila! - Tags actually work like they're supposed to in HTML. ---> - -<h1>libstdc++ Source Documentation</h1> - -<h2>Documentation Overview</h2> - -<p class="smallertext">@LEVEL@-level docs, generated @DATE@.</p> - -<p>There are two types of documentation for libstdc++. One is the - distribution documentation, which can be read online at - <a href="http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html">http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html</a> - or offline from docs/html/documentation.html in the library source - directory. -</p> - -<p>The other type is the source documentation, of which this is the first page. - Both "user-level" and "maintainer-level" source - documentation is produced: user-level docs are for the users of this - library. The maint-level docs are for those interested in the underlying - workings of the library; they include all the user-level docs plus - additional notes and additional classes/functions/etc. -</p> - -<p>Here are entry points to all the pages generated by Doxygen: - <ul> - <li><a href="modules.html">Modules</a> - <li><a href="namespaces.html">Namespace List</a> - <li><a href="hierarchy.html">Class List</a> - <li><a href="annotated.html">Class Annotated List</a> - <li><a href="classes.html">Class Alphabetical Index</a> - <li><a href="globals_func.html">Function Alphabetical List</a> - <li><a href="files.html">Source File List</a> - <li><a href="todo.html">TODO List</a> (This is incomplete... how ironic.) - </ul> -</p> - -<p>If you are using Doxygen for your own projects, you can use - <a href="libstdc++.tag">a tag file for the appropriate version</a> and - an entry such as - <blockquote> - TAGFILES = "libstdc++.tag = - http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen" - </blockquote> - Be sure to adjust the URL for the right version. If you download a - local copy of the source documentation for faster viewing, you can use - the doxytag/installdox programs (part of Doxygen) to adjust the links - for you. -</p> - -<h2>Generating the documentation</h2> -<p>These HTML pages are automatically generated, along with the man pages. - See <code>docs/doxygen/guide.html</code> in the source tree for how to - create (and write) the pages. - -<h2>License, Copyright, and Other Lawyerly Verbosity</h2> -<p>The libstdc++ documentation is released under - <a href="http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/license.html"> - these terms</a>. -</p> -<p>Part of the generated documentation involved comments and notes from - SGI, who says we gotta say this: - <blockquote> - Permission to use, copy, modify, distribute and sell this software and its - documentation for any purpose is hereby granted without fee, provided - that the below copyright notice appears in all copies and that both - the copyright notice and this permission notice appear in supporting - documentation. Silicon Graphics makes no representations about the - suitability of this software for any purpose. It is provided "as is" - without express or implied warranty. - <br><br> - Copyright © 1994 - Hewlett-Packard Company - </blockquote> -</p> -<p>Part of the generated documentation is quoted from the ISO C++ Standard, - which is Copyright © 1998 by Information Technology Industry Council. -</p> - -</body> -</html> diff --git a/libstdc++-v3/docs/doxygen/run_doxygen b/libstdc++-v3/docs/doxygen/run_doxygen deleted file mode 100644 index 2aca793e14a..00000000000 --- a/libstdc++-v3/docs/doxygen/run_doxygen +++ /dev/null @@ -1,328 +0,0 @@ -#!/bin/bash - -# Runs doxygen and massages the output files. -# Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. -# -# Synopsis: run_doxygen --mode=[user|maint|man] --host_alias=<alias> \ -# v3srcdir v3builddir -# -# Originally hacked together by Phil Edwards <pme@gcc.gnu.org> - - -# We can check now that the version of doxygen is >= this variable. -DOXYVER=1.3.9 - -find_doxygen() { - local -r v_required=`echo $DOXYVER | \ - awk -F. '{if(NF<3)$3=0;print ($1*100+$2)*100+$3}'` - local testing_version doxygen maybedoxy v_found - # thank you goat book - set `IFS=:; X="$PATH:/usr/local/bin:/bin:/usr/bin"; echo $X` - for dir - do - # AC_EXEEXT could come in useful here - maybedoxy="$dir/doxygen" - test -f "$maybedoxy" && testing_version=`$maybedoxy --version` - if test -n "$testing_version"; then - v_found=`echo $testing_version | \ - awk -F. '{if(NF<3)$3=0;print ($1*100+$2)*100+$3}'` - if test $v_found -ge $v_required; then - doxygen="$maybedoxy" - break - fi - fi - done - if test -z "$doxygen"; then - echo run_doxygen error: Could not find Doxygen $DOXYVER in path. 1>&2 - print_usage - fi - # We need to use other tools from the same package/version. - echo :: Using Doxygen tools from ${dir}. - PATH=$dir:$PATH - hash -r -} - -print_usage() { - cat 1>&2 <<EOF -Usage: run_doxygen --mode=MODE --host_alias=BUILD_ALIAS [<options>] - <v3-src-dir> <v3-build-dir> - MODE is one of: - user Generate user-level HTML library documentation. - maint Generate maintainers' HTML documentation (lots more; - exposes non-public members, etc). - man Generate user-level man pages. - - BUILD_ALIAS is the GCC build alias set at configure time. - - more options when i think of them - -Note: Requires Doxygen ${DOXYVER} or later; get it at - ftp://ftp.stack.nl/pub/users/dimitri/doxygen-${DOXYVER}.src.tar.gz - -EOF - exit 1 -} - -parse_options() { - for o - do - # Blatantly ripped from autoconf, er, I mean, "gratefully standing - # on the shoulders of those giants who have gone before us." - case "$o" in - -*=*) arg=`echo "$o" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) arg= ;; - esac - - case "$o" in - --mode=*) - mode=$arg ;; - --host_alias=*) - host_alias=$arg ;; - --mode | --host_alias | --help | -h) - print_usage ;; - *) - # this turned out to be a mess, maybe change to --srcdir=, etc - if test $srcdir = unset; then - srcdir=$o - elif test $outdir = unset; then - builddir=${o} - outdir=${o}/docs/doxygen - else - echo run_doxygen error: Too many arguments 1>&2 - exit 1 - fi - ;; - esac - done -} - - -# script begins here -mode=unset -host_alias=unset -srcdir=unset -outdir=unset -do_html=false -do_man=false -enabled_sections= -generate_tagfile= -DATEtext=`date '+%Y-%m-%d'` - -# Show how this script is called. -echo run_doxygen $* - -parse_options $* -find_doxygen - -if test $srcdir = unset || test $outdir = unset || test $mode = unset || test $host_alias = unset; then - # this could be better - echo run_doxygen error: You have not given enough information...! 1>&2 - print_usage -fi - -case x"$mode" in - xuser) - do_html=true - LEVELtext='User' - generate_tagfile="$outdir/html_$mode/libstdc++.tag" - ;; - xmaint) - do_html=true - enabled_sections=maint - LEVELtext='Maintainer' - generate_tagfile="$outdir/html_$mode/libstdc++.tag" - ;; - xman) - do_man=true - ;; - *) - echo run_doxygen error: $mode is an invalid mode 1>&2 - exit 1 ;; -esac - -#rm -rf $outdir -mkdir -p $outdir -chmod u+w $outdir - -# work around a stupid doxygen bug -if $do_man; then - mkdir -p $outdir/man/man3/ext - chmod -R u+w $outdir/man/man3/ext -fi - -( - set -e - cd $builddir - sed -e "s=@outdir@=${outdir}=g" \ - -e "s=@srcdir@=${srcdir}=g" \ - -e "s=@builddir@=${builddir}=g" \ - -e "s=@host_alias@=${host_alias}=g" \ - -e "s=@html_output_dir@=html_${mode}=" \ - -e "s=@enabled_sections@=${enabled_sections}=" \ - -e "s=@do_html@=${do_html}=" \ - -e "s=@do_man@=${do_man}=" \ - -e "s=@generate_tagfile@=${generate_tagfile}=" \ - ${srcdir}/docs/doxygen/user.cfg.in > ${outdir}/${mode}.cfg - echo :: NOTE that this may take some time... - echo doxygen ${outdir}/${mode}.cfg - doxygen ${outdir}/${mode}.cfg - echo :: Finished, exit code was $? -) -ret=$? -test $ret -ne 0 && exit $ret - -if $do_html; then - cd ${outdir}/html_${mode} - - #doxytag -t libstdc++.tag . > /dev/null 2>&1 - sed -e '/<path>/d' libstdc++.tag > TEMP - mv TEMP libstdc++.tag - - sed -e "s=@LEVEL@=${LEVELtext}=" \ - -e "s=@DATE@=${DATEtext}=" \ - ${srcdir}/docs/doxygen/mainpage.html > index.html - - # The following bit of line noise changes annoying - # std::foo < typename _Ugly1, typename _Ugly2, .... _DefaultUgly17 > - # to user-friendly - # std::foo - # in the major "Compound List" page. - sed -e 's=\(::[[:alnum:]_]*\)< .* >=\1=' annotated.html > annstrip.html - mv annstrip.html annotated.html - - # Work around a bug in doxygen 1.3. - for f in class*html struct*html; do - sed '1,10s!^<title> Template!<title>Template !' $f > TEMP - mv TEMP $f - done - - cp ${srcdir}/docs/doxygen/tables.html tables.html - echo :: - echo :: HTML pages begin with - echo :: ${outdir}/html_${mode}/index.html -fi - -# Mess with the man pages. We don't need documentation of the internal -# headers, since the man pages for those contain nothing useful anyhow. The -# man pages for doxygen modules need to be renamed (or deleted). And the -# generated #include lines need to be changed from the internal names to the -# standard ones (e.g., "#include <stl_tempbuf.h>" -> "#include <memory>"). -if $do_man; then -echo :: -echo :: Fixing up the man pages... -cd $outdir/man/man3 - -# here's the other end of the "stupid doxygen bug" mentioned above -rm -rf ext - -# File names with embedded spaces (EVIL!) need to be....? renamed or removed? -find . -name "* *" -print0 | xargs -0r rm # requires GNU tools - -# can leave SGIextensions.3 alone, it's an okay name -mv s20_3_1_base.3 Intro_functors.3 -mv s20_3_2_arithmetic.3 Arithmetic_functors.3 -mv s20_3_3_comparisons.3 Comparison_functors.3 -mv s20_3_4_logical.3 Logical_functors.3 -mv s20_3_5_negators.3 Negation_functors.3 -mv s20_3_6_binder.3 Binder_functors.3 -mv s20_3_7_adaptors.3 Func_ptr_functors.3 -mv s20_3_8_memadaptors.3 Member_ptr_functors.3 -mv iterator_tags.3 Iterator_types.3 -mv std.3 Namespace_std.3 -mv __gnu_cxx.3 Namespace___gnu_cxx.3 - -# man pages are for functions/types/other entities, not source files -# directly. who the heck would type "man foo.h" anyhow? -find . -name "[a-z]*" -a ! -name "std_*" -print | xargs rm -rm -f *.h.3 *config* *.cc.3 *.tcc.3 *_t.3 -# this is used to examine what we would have deleted, for debugging -#mkdir trash -#find . -name "[a-z]*" -a ! -name "std_*" -print | xargs -i mv {} trash -#mv *.h.3 *config* *.cc.3 *.tcc.3 *_t.3 trash - -# Standardize the displayed header names. If anyone who knows perl cares -# enough to rewrite all this, feel free. This only gets run once a century, -# and I'm off getting coffee then anyhow, so I didn't care enough to make -# this super-fast. -g++ ${srcdir}/docs/doxygen/stdheader.cc -o ./stdheader -problematic=`egrep -l '#include <.*_.*>' [a-z]*.3` -for f in $problematic; do - # this is also slow, but safe and easy to debug - oldh=`sed -n '/fC#include </s/.*<\(.*\)>.*/\1/p' $f` - newh=`echo $oldh | ./stdheader` - sed "s=${oldh}=${newh}=" $f > TEMP - mv TEMP $f -done -rm stdheader - -# Some of the pages for generated modules have text that confuses certain -# implementations of man(1), e.g., Linux's. We need to have another top-level -# *roff tag to /stop/ the .SH NAME entry. -#problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3` -problematic='Containers.3 Sequences.3 Assoc_containers.3 Iterator_types.3' -for f in $problematic; do - sed '/^\.SH NAME/{ -n -a\ -\ -.SH SYNOPSIS - }' $f > TEMP - mv TEMP $f -done - -# Also, break this (generated) line up. It's ugly as sin. -problematic=`grep -l '[^^]Definition at line' *.3` -for f in $problematic; do - sed 's/Definition at line/\ -.PP\ -&/' $f > TEMP - mv TEMP $f -done - -cp ${srcdir}/docs/doxygen/Intro.3 C++Intro.3 - -# Why didn't I do this at the start? Were rabid weasels eating my brain? -# Who the fsck would "man std_vector" when the class isn't named that? -for f in std_tr1_*; do - newname=`echo $f | sed 's/^std_tr1_/std::tr1::/'` - mv $f $newname -done -for f in std_*; do - newname=`echo $f | sed 's/^std_/std::/'` - mv $f $newname -done -for f in __gnu_cxx_*; do - newname=`echo $f | sed 's/^__gnu_cxx_/__gnu_cxx::/'` - mv $f $newname -done - -# Generic reoval bits, where there are things in the generated man -# pages that need to be killed. -for f in *_libstdc__-v3_*; do - rm $f -done - -for f in *_src_*; do - rm $f -done - - -# Also, for some reason, typedefs don't get their own man pages. Sigh. -for f in ios streambuf istream ostream iostream stringbuf \ - istringstream ostringstream stringstream filebuf ifstream \ - ofstream fstream string; -do - echo ".so man3/std::basic_${f}.3" > std::${f}.3 - echo ".so man3/std::basic_${f}.3" > std::w${f}.3 -done - -echo :: -echo :: Man pages in ${outdir}/man -fi - -# all done -echo :: - -exit 0 - -# vim:ts=4:et: diff --git a/libstdc++-v3/docs/doxygen/stdheader.cc b/libstdc++-v3/docs/doxygen/stdheader.cc deleted file mode 100644 index a5145419b04..00000000000 --- a/libstdc++-v3/docs/doxygen/stdheader.cc +++ /dev/null @@ -1,170 +0,0 @@ -// This is a slow larval-stage kludge to help massage the generated man -// pages. It's used like this: -const char* const usage = -"\nTakes on stdin, whitespace-separated words of the form\n" -"\n" -" [bits/]stl_foo.h\n" -" [bits/]std_foo.h\n" -"\n" -"and writes on stdout the nearest matching standard header name.\n" -"\n" -"Takes no command-line arguments.\n" -"\n"; - -#include <string> -#include <map> -#include <iostream> - -typedef std::map<std::string, std::string> Map; - -Map headers; - -void init_map() -{ - // Enter the glamourous world of data entry!! Maintain these! - headers["algo.h"] = "algorithm"; - headers["algobase.h"] = "algorithm"; - headers["algorithm.h"] = "algorithm"; - headers["heap.h"] = "algorithm"; - headers["bitset.h"] = "bitset"; - headers["complex.h"] = "complex"; - //headers["construct.h"] stl_construct.h entirely internal - headers["deque.h"] = "deque"; - headers["deque.tcc"] = "deque"; - headers["fstream.h"] = "fstream"; - headers["fstream.tcc"] = "fstream"; - headers["function.h"] = "functional"; - headers["functional.h"] = "functional"; - headers["iomanip.h"] = "iomanip"; - headers["basic_ios.h"] = "ios"; - headers["basic_ios.tcc"] = "ios"; - headers["ios.h"] = "ios"; - headers["iosfwd.h"] = "iosfwd"; - headers["iostream.h"] = "iostream"; - headers["istream.h"] = "istream"; - headers["istream.tcc"] = "istream"; - headers["iterator.h"] = "iterator"; - headers["iterator_base_funcs.h"] = "iterator"; - headers["iterator_base_types.h"] = "iterator"; - headers["stream_iterator.h"] = "iterator"; - headers["streambuf_iterator.h"] = "iterator"; - headers["limits.h"] = "limits"; - headers["list.h"] = "list"; - headers["list.tcc"] = "list"; - headers["codecvt.h"] = "locale"; - headers["locale.h"] = "locale"; - headers["localefwd.h"] = "locale"; - headers["locale_classes.h"] = "locale"; - headers["locale_facets.h"] = "locale"; - headers["locale_facets.tcc"] = "locale"; - headers["map.h"] = "map"; - headers["multimap.h"] = "map"; - headers["memory.h"] = "memory"; - headers["allocator.h"] = "memory"; - headers["raw_storage_iter.h"] = "memory"; - headers["tempbuf.h"] = "memory"; - headers["uninitialized.h"] = "memory"; - headers["numeric.h"] = "numeric"; - headers["ostream.h"] = "ostream"; - headers["ostream.tcc"] = "ostream"; - headers["queue.h"] = "queue"; - headers["set.h"] = "set"; - headers["multiset.h"] = "set"; - headers["sstream.h"] = "sstream"; - headers["sstream.tcc"] = "sstream"; - headers["stack.h"] = "stack"; - headers["functexcept.h"] = "stdexcept"; - headers["stdexcept.h"] = "stdexcept"; - headers["streambuf.h"] = "streambuf"; - headers["streambuf.tcc"] = "streambuf"; - headers["string.h"] = "string"; - headers["char_traits.h"] = "string"; - headers["postypes.h"] = "string"; - headers["basic_string.h"] = "string"; - headers["basic_string.tcc"] = "string"; - headers["tree.h"] = "backward/tree.h"; - headers["pair.h"] = "utility"; - headers["utility.h"] = "utility"; - headers["relops.h"] = "utility"; - headers["gslice.h"] = "valarray"; - headers["gslice_array.h"] = "valarray"; - headers["indirect_array.h"] = "valarray"; - headers["mask_array.h"] = "valarray"; - headers["slice_array.h"] = "valarray"; - headers["valarray.h"] = "valarray"; - headers["valarray_after.h"] = "valarray"; - headers["valarray_before.h"] = "valarray"; - headers["valarray_array.h"] = "valarray"; - headers["valarray_array.tcc"] = "valarray"; - headers["valarray_meta.h"] = "valarray"; - headers["bvector.h"] = "vector"; - headers["vector.h"] = "vector"; - headers["vector.tcc"] = "vector"; - - //headers["concurrence.h"] who knows - //headers["atomicity.h"] who knows - - // C wrappers -- probably was an easier way to do these, but oh well - headers["cassert.h"] = "cassert"; - headers["cctype.h"] = "cctype"; - headers["cerrno.h"] = "cerrno"; - headers["cfloat.h"] = "cfloat"; - headers["climits.h"] = "climits"; - headers["clocale.h"] = "clocale"; - headers["cmath.h"] = "cmath"; - headers["csetjmp.h"] = "csetjmp"; - headers["csignal.h"] = "csignal"; - headers["cstdarg.h"] = "cstdarg"; - headers["cstddef.h"] = "cstddef"; - headers["cstdio.h"] = "cstdio"; - headers["cstdlib.h"] = "cstdlib"; - headers["cstring.h"] = "cstring"; - headers["ctime.h"] = "ctime"; - headers["cwchar.h"] = "cwchar"; - headers["cwctype.h"] = "cwctype"; -} - - -void do_word (std::string const& longheader) -{ - std::string::size_type start = 0; - - // if it doesn't contain a "." then it's already a std header - if (longheader.find(".") == std::string::npos) - { - std::cout << longheader << '\n'; - return; - } - - if (longheader.substr(start,5) == "bits/") start += 5; - if ((longheader.substr(start,4) == "stl_") || - (longheader.substr(start,4) == "std_")) - { - start += 4; - } - - // come on, gdb, find `p' already... - const char* p = longheader.substr(start).c_str(); - Map::iterator word = headers.find(p); - if (word != headers.end()) - std::cout << word->second << '\n'; - else std::cout << "MAYBE_AN_ERROR_MESSAGE_HERE\n"; -} - - -int main (int argc, char**) -{ - if (argc > 1) - { - std::cerr << usage; - exit(0); - } - - init_map(); - - std::string w; - while (std::cin >> w) - do_word (w); -} - - diff --git a/libstdc++-v3/docs/doxygen/style.css b/libstdc++-v3/docs/doxygen/style.css deleted file mode 100644 index c49c37cdfd9..00000000000 --- a/libstdc++-v3/docs/doxygen/style.css +++ /dev/null @@ -1,74 +0,0 @@ -BODY { - background: white; - font-size: small; -} -H1 { text-align: center; font-size: large } -H2 { text-align: left; font-size: medium; } -H3 { text-align: left; font-size: small; } -CODE { font-size: small; } -CAPTION { font-weight: normal } -A.qindex {} -A.qindexRef {} -A.el { text-decoration: none; font-size: small; font-weight: normal } -A.elRef { text-decoration: none; font-size: small; font-weight: normal } -A.code { text-decoration: none; font-weight: normal; color: #4444ee } -A.codeRef { font-weight: normal; color: #4444ee } -A:hover { text-decoration: none; background-color: #f2f2ff } -DL.el { margin-left: -1cm } -DIV.fragment { width: 100%; border: none; background-color: #eeeeee } -DIV.ah { - background-color: black; - font-weight: normal; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px -} -DIV.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: normal -} -DIV.groupText { margin-left: 16px; font-style: italic; font-size: small } -TD.md { background-color: #f2f2ff; font-size: small; } -TD.mdname1 { background-color: #f2f2ff; font-size: small; color: #602020; } -TD.mdname { - background-color: #f2f2ff; - font-weight: normal; - font-size: small; - color: #602020; - width: 600px -} -TD.indexkey { - background-color: #eeeeff; - font-weight: normal; - font-size: small; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px -} -TD.indexvalue { - background-color: #eeeeff; - font-style: italic; - font-size: small; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px -} -span.keyword { color: #008000 } -span.keywordtype { color: #604020 } -span.keywordflow { color: #e08000 } -span.comment { color: #800000 } -span.preprocessor { color: #806020 } -span.stringliteral { color: #002080 } -span.charliteral { color: #008080 } diff --git a/libstdc++-v3/docs/doxygen/tables.html b/libstdc++-v3/docs/doxygen/tables.html deleted file mode 100644 index 74ac3e2165d..00000000000 --- a/libstdc++-v3/docs/doxygen/tables.html +++ /dev/null @@ -1,645 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<html> -<head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Tables</title> -<link href="style.css" rel="stylesheet" type="text/css"> -</head> - -<body bgcolor="#ffffff"> - -<h1>Tables</h1> - -<p>Most of the requirements on containers are presented in the ISO standard - in the form of tables. In order to avoid massive duplication of effort - while documenting all the classes, we follow the standard's lead and - present the base information here. Individual classes will only document - their departures from these tables (removed functions, additional functions, - changes, etc). -</p> - -<p>We will not try to duplicate all of the surrounding text (footnotes, - explanations, etc.) from the standard, because that would also entail a - duplication of effort. Some of the surrounding text has been paraphrased - here for clarity. If you are uncertain about the meaning or interpretation - of these notes, consult a good textbook, and/or purchase your own copy of - the standard (it's cheap, see our FAQ). -</p> - -<p>The table numbers are the same as those used in the standard. Tables can - be jumped to using their number, e.g., "tables.html#67". Only - Tables 65 through 69 are presented. Some of the active Defect Reports - are also noted or incorporated. -</p> - -<hr /> - -<a name="65"><p> -<table cellpadding="3" cellspacing="5" align="center" rules="rows" border="3" - cols="5" title="Table 65"> -<caption><h2>Table 65 --- Container Requirements</h2></caption> -<tr><th colspan="5"> -Anything calling itself a container must meet these minimum requirements. -</th></tr> -<tr> -<td><strong>expression</strong></td> -<td><strong>result type</strong></td> -<td><strong>operational semantics</strong></td> -<td><strong>notes, pre-/post-conditions, assertions</strong></td> -<td><strong>complexity</strong></td> -</tr> - -<tr> -<td>X::value_type</td> -<td>T</td> -<td> </td> -<td>T is Assignable</td> -<td>compile time</td> -</tr> - -<tr> -<td>X::reference</td> -<td>lvalue of T</td> -<td> </td> -<td> </td> -<td>compile time</td> -</tr> - -<tr> -<td>X::const_reference</td> -<td>const lvalue of T</td> -<td> </td> -<td> </td> -<td>compile time</td> -</tr> - -<tr> -<td>X::iterator</td> -<td>iterator type pointing to T</td> -<td> </td> -<td>Any iterator category except output iterator. - Convertible to X::const_iterator.</td> -<td>compile time</td> -</tr> - -<tr> -<td>X::const_iterator</td> -<td>iterator type pointing to const T</td> -<td> </td> -<td>Any iterator category except output iterator.</td> -<td>compile time</td> -</tr> - -<tr> -<td>X::difference_type</td> -<td>signed integral type</td> -<td> </td> -<td>identical to the difference type of X::iterator and X::const_iterator</td> -<td>compile time</td> -</tr> - -<tr> -<td>X::size_type</td> -<td>unsigned integral type</td> -<td> </td> -<td>size_type can represent any non-negative value of difference_type</td> -<td>compile time</td> -</tr> - -<tr> -<td>X u;</td> -<td> </td> -<td> </td> -<td>post: u.size() == 0</td> -<td>constant</td> -</tr> - -<tr> -<td>X();</td> -<td> </td> -<td> </td> -<td>X().size == 0</td> -<td>constant</td> -</tr> - -<tr> -<td>X(a);</td> -<td> </td> -<td> </td> -<td>a == X(a)</td> -<td>linear</td> -</tr> - -<tr> -<td>X u(a);<br />X u = a;</td> -<td> </td> -<td> </td> -<td>post: u == a. Equivalent to: X u; u = a;</td> -<td>linear</td> -</tr> - -<tr> -<td>(&a)->~X();</td> -<td>void</td> -<td> </td> -<td>dtor is applied to every element of a; all the memory is deallocated</td> -<td>linear</td> -</tr> - -<tr> -<td>a.begin()</td> -<td>iterator; const_iterator for constant a</td> -<td> </td> -<td> </td> -<td>constant</td> -</tr> - -<tr> -<td>a.end()</td> -<td>iterator; const_iterator for constant a</td> -<td> </td> -<td> </td> -<td>constant</td> -</tr> - -<tr> -<td>a == b</td> -<td>convertible to bool</td> -<td> </td> -<td>== is an equivalence relation. a.size()==b.size() && - equal(a.begin(),a.end(),b.begin())</td> -<td>linear</td> -</tr> - -<tr> -<td>a != b</td> -<td>convertible to bool</td> -<td> </td> -<td>equivalent to !(a==b)</td> -<td>linear</td> -</tr> - -<tr> -<td>a.swap(b)</td> -<td>void</td> -<td> </td> -<td>swap(a,b)</td> -<td>may or may not have constant complexity</td> -</tr> - -<tr> -<td>r = a</td> -<td>X&</td> -<td> </td> -<td>r == a</td> -<td>linear</td> -</tr> - -<!-- a fifth column, "operation semantics," magically appears in the table - at this point... wtf? --> -<tr> -<td>a.size()</td> -<td>size_type</td> -<td>a.end() - a.begin()</td> -<td> </td> -<td>may or may not have constant complexity</td> -</tr> - -<tr> -<td>a.max_size()</td> -<td>size_type</td> -<td>size() of the largest possible container</td> -<td> </td> -<td>may or may not have constant complexity</td> -</tr> - -<tr> -<td>a.empty()</td> -<td>convertible to bool</td> -<td>a.size() == 0</td> -<td> </td> -<td>constant</td> -</tr> - -<tr> -<td>a < b</td> -<td>convertible to bool</td> -<td>lexographical_compare( a.begin, a.end(), b.begin(), b.end())</td> -<td>pre: < is defined for T and is a total ordering relation</td> -<td>linear</td> -</tr> - -<tr> -<td>a > b</td> -<td>convertible to bool</td> -<td>b < a</td> -<td> </td> -<td>linear</td> -</tr> - -<tr> -<td>a <= b</td> -<td>convertible to bool</td> -<td>!(a > b)</td> -<td> </td> -<td>linear</td> -</tr> - -<tr> -<td>a >= b</td> -<td>convertible to bool</td> -<td>!(a < b)</td> -<td> </td> -<td>linear</td> -</tr> -</table title="Table 65"></p></a> - - -<a name="66"><p> -<table cellpadding="3" cellspacing="5" align="center" rules="rows" border="3" - cols="4" title="Table 66"> -<caption><h2>Table 66 --- Reversible Container Requirements</h2></caption> -<tr><th colspan="4"> -If a container's iterator is bidirectional or random-access, then the -container also meets these requirements. -Deque, list, vector, map, multimap, set, and multiset are such containers. -</th></tr> -<tr> -<td><strong>expression</strong></td> -<td><strong>result type</strong></td> -<td><strong>notes, pre-/post-conditions, assertions</strong></td> -<td><strong>complexity</strong></td> -</tr> - -<tr> -<td>X::reverse_iterator</td> -<td>iterator type pointing to T</td> -<td>reverse_iterator<iterator></td> -<td>compile time</td> -</tr> - -<tr> -<td>X::const_reverse_iterator</td> -<td>iterator type pointing to const T</td> -<td>reverse_iterator<const_iterator></td> -<td>compile time</td> -</tr> - -<tr> -<td>a.rbegin()</td> -<td>reverse_iterator; const_reverse_iterator for constant a</td> -<td>reverse_iterator(end())</td> -<td>constant</td> -</tr> - -<tr> -<td>a.rend()</td> -<td>reverse_iterator; const_reverse_iterator for constant a</td> -<td>reverse_iterator(begin())</td> -<td>constant</td> -</tr> -</table title="Table 66"></p></a> - - -<a name="67"><p> -<table cellpadding="3" cellspacing="5" align="center" rules="rows" border="3" - cols="3" title="Table 67"> -<caption><h2>Table 67 --- Sequence Requirements</h2></caption> -<tr><th colspan="3"> -These are in addition to the requirements of <a href="#65">containers</a>. -Deque, list, and vector are such containers. -</th></tr> -<tr> -<td><strong>expression</strong></td> -<td><strong>result type</strong></td> -<td><strong>notes, pre-/post-conditions, assertions</strong></td> -</tr> - -<tr> -<td>X(n,t)<br />X a(n,t)</td> -<td> </td> -<td>constructs a sequence with n copies of t<br />post: size() == n</td> -</tr> - -<tr> -<td>X(i,j)<br />X a(i,j)</td> -<td> </td> -<td>constructs a sequence equal to the range [i,j)<br /> - post: size() == distance(i,j)</td> -</tr> - -<tr> -<td>a.insert(p,t)</td> -<td>iterator (points to the inserted copy of t)</td> -<td>inserts a copy of t before p</td> -</tr> - -<tr> -<td>a.insert(p,n,t)</td> -<td>void</td> -<td>inserts n copies of t before p</td> -</tr> - -<tr> -<td>a.insert(p,i,j)</td> -<td>void</td> -<td>inserts copies of elements in [i,j) before p<br /> - pre: i, j are not iterators into a</td> -</tr> - -<tr> -<td>a.erase(q)</td> -<td>iterator (points to the element following q (prior to erasure))</td> -<td>erases the element pointed to by q</td> -</tr> - -<tr> -<td>a.erase(q1,q1)</td> -<td>iterator (points to the element pointed to by q2 (prior to erasure))</td> -<td>erases the elements in the range [q1,q2)</td> -</tr> - -<tr> -<td>a.clear()</td> -<td>void</td> -<td>erase(begin(),end())<br />post: size() == 0</td> -</tr> -</table title="Table 67"></p></a> - - -<a name="68"><p> -<table cellpadding="3" cellspacing="5" align="center" rules="rows" border="3" - cols="4" title="Table 68"> -<caption><h2>Table 68 --- Optional Sequence Operations</h2></caption> -<tr><th colspan="4"> -These operations are only included in containers when the operation can be -done in constant time. -</th></tr> -<tr> -<td><strong>expression</strong></td> -<td><strong>result type</strong></td> -<td><strong>operational semantics</strong></td> -<td><strong>container</strong></td> -</tr> - -<tr> -<td>a.front()</td> -<td>reference; const_reference for constant a</td> -<td>*a.begin()</td> -<td>vector, list, deque</td> -</tr> - -<tr> -<td>a.back()</td> -<td>reference; const_reference for constant a</td> -<td>*--a.end()</td> -<td>vector, list, deque</td> -</tr> - -<tr> -<td>a.push_front(x)</td> -<td>void</td> -<td>a.insert(a.begin(),x)</td> -<td>list, deque</td> -</tr> - -<tr> -<td>a.push_back(x)</td> -<td>void</td> -<td>a.insert(a.end(),x)</td> -<td>vector, list, deque</td> -</tr> - -<tr> -<td>a.pop_front()</td> -<td>void</td> -<td>a.erase(a.begin())</td> -<td>list, deque</td> -</tr> - -<tr> -<td>a.pop_back()</td> -<td>void</td> -<td>a.erase(--a.end())</td> -<td>vector, list, deque</td> -</tr> - -<tr> -<td>a[n]</td> -<td>reference; const_reference for constant a</td> -<td>*(a.begin() + n)</td> -<td>vector, deque</td> -</tr> - -<tr> -<td>a.at(n)</td> -<td>reference; const_reference for constant a</td> -<td>*(a.begin() + n)<br />throws out_of_range if n>=a.size()</td> -<td>vector, deque</td> -</tr> -</table title="Table 68"></p></a> - - -<a name="69"><p> -<table cellpadding="3" cellspacing="5" align="center" rules="rows" border="3" - cols="4" title="Table 69"> -<caption><h2>Table 69 --- Associative Container Requirements</h2></caption> -<tr><th colspan="4"> -These are in addition to the requirements of <a href="#65">containers</a>. -Map, multimap, set, and multiset are such containers. An associative -container supports <em>unique keys</em> (and is written as -<code>a_uniq</code> instead of <code>a</code>) if it may contain at most -one element for each key. Otherwise it supports <em>equivalent keys</em> -(and is written <code>a_eq</code>). Examples of the former are set and map, -examples of the latter are multiset and multimap. -</th></tr> -<tr> -<td><strong>expression</strong></td> -<td><strong>result type</strong></td> -<td><strong>notes, pre-/post-conditions, assertions</strong></td> -<td><strong>complexity</strong></td> -</tr> - -<tr> -<td>X::key_type</td> -<td>Key</td> -<td>Key is Assignable</td> -<td>compile time</td> -</tr> - -<tr> -<td>X::key_compare</td> -<td>Compare</td> -<td>defaults to less<key_type></td> -<td>compile time</td> -</tr> - -<tr> -<td>X::value_compare</td> -<td>a binary predicate type</td> -<td>same as key_compare for set and multiset; an ordering relation on - pairs induced by the first component (Key) for map and multimap</td> -<td>compile time</td> -</tr> - -<tr> -<td>X(c)<br />X a(c)</td> -<td> </td> -<td>constructs an empty container which uses c as a comparison object</td> -<td>constant</td> -</tr> - -<tr> -<td>X()<br />X a</td> -<td> </td> -<td>constructs an empty container using Compare() as a comparison object</td> -<td>constant</td> -</tr> - -<tr> -<td>X(i,j,c)<br />X a(i,j,c)</td> -<td> </td> -<td>constructs an empty container and inserts elements from the range [i,j) - into it; uses c as a comparison object</td> -<td>NlogN in general where N is distance(i,j); linear if [i,j) is - sorted with value_comp()</td> -</tr> - -<tr> -<td>X(i,j)<br />X a(i,j)</td> -<td> </td> -<td>same as previous, but uses Compare() as a comparison object</td> -<td>same as previous</td> -</tr> - -<tr> -<td>a.key_comp()</td> -<td>X::key_compare</td> -<td>returns the comparison object out of which a was constructed</td> -<td>constant</td> -</tr> - -<tr> -<td>a.value_comp()</td> -<td>X::value_compare</td> -<td>returns an object constructed out of the comparison object</td> -<td>constant</td> -</tr> - -<tr> -<td>a_uniq.insert(t)</td> -<td>pair<iterator,bool></td> -<td>"Inserts t if and only if there is no element in the container with - key equivalent to the key of t. The bool component of the returned pair - is true -iff- the insertion took place, and the iterator component of - the pair points to the element with key equivalent to the key of - t."</td> <!-- DR 316 --> -<td>logarithmic</td> -</tr> - -<tr> -<td>a_eq.insert(t)</td> -<td>iterator</td> -<td>inserts t, returns the iterator pointing to the inserted element</td> -<td>logarithmic</td> -</tr> - -<tr> -<td>a.insert(p,t)</td> -<td>iterator</td> -<td>possibly inserts t (depending on whether a_uniq or a_eq); returns iterator - pointing to the element with key equivalent to the key of t; iterator p - is a hint pointing to where the insert should start to search</td> -<td>logarithmic in general, amortized constant if t is inserted right - after p<br /> - <strong>[but see DR 233 and <a href=" - http://gcc.gnu.org/onlinedocs/libstdc++/23_containers/howto.html#4">our - specific notes</a>]</strong></td> -</tr> - -<tr> -<td>a.insert(i,j)</td> -<td>void</td> -<td>pre: i, j are not iterators into a. possibly inserts each element from - the range [i,j) (depending on whether a_uniq or a_eq)</td> -<td>Nlog(size()+N) where N is distance(i,j) in general</td> <!-- DR 264 --> -</tr> - -<tr> -<td>a.erase(k)</td> -<td>size_type</td> -<td>erases all elements with key equivalent to k; returns number of erased - elements</td> -<td>log(size()) + count(k)</td> -</tr> - -<tr> -<td>a.erase(q)</td> -<td>void</td> -<td>erases the element pointed to by q</td> -<td>amortized constant</td> -</tr> - -<tr> -<td>a.erase(q1,q2)</td> -<td>void</td> -<td>erases all the elements in the range [q1,q2)</td> -<td>log(size()) + distance(q1,q2)</td> -</tr> - -<tr> -<td>a.clear()</td> -<td>void</td> -<td>erases everything; post: size() == 0</td> -<td>linear</td> <!-- DR 224 --> -</tr> - -<tr> -<td>a.find(k)</td> -<td>iterator; const_iterator for constant a</td> -<td>returns iterator pointing to element with key equivalent to k, or - a.end() if no such element found</td> -<td>logarithmic</td> -</tr> - -<tr> -<td>a.count(k)</td> -<td>size_type</td> -<td>returns number of elements with key equivalent to k</td> -<td>log(size()) + count(k)</td> -</tr> - -<tr> -<td>a.lower_bound(k)</td> -<td>iterator; const_iterator for constant a</td> -<td>returns iterator pointing to the first element with key not less than k</td> -<td>logarithmic</td> -</tr> - -<tr> -<td>a.upper_bound(k)</td> -<td>iterator; const_iterator for constant a</td> -<td>returns iterator pointing to the first element with key greater than k</td> -<td>logarithmic</td> -</tr> - -<tr> -<td>a.equal_range(k)</td> -<td>pair<iterator,iterator>; - pair<const_iterator, const_iterator> for constant a</td> -<td>equivalent to make_pair(a.lower_bound(k), a.upper_bound(k))</td> -<td>logarithmic</td> -</tr> -</table title="Table 69"></p></a> - - -<hr /> -<p class="smallertext"><em> -See <a href="mainpage.html">mainpage.html</a> for copying conditions. -See <a href="http://gcc.gnu.org/libstdc++/">the libstdc++ homepage</a> -for more information. -</em></p> - - -</body> -</html> - diff --git a/libstdc++-v3/docs/doxygen/user.cfg.in b/libstdc++-v3/docs/doxygen/user.cfg.in deleted file mode 100644 index 20a041e0f99..00000000000 --- a/libstdc++-v3/docs/doxygen/user.cfg.in +++ /dev/null @@ -1,1436 +0,0 @@ -# Doxyfile 1.5.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = libstdc++ - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @outdir@ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, -# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, -# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, -# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# This tag can be used to specify the encoding used in the generated -# output. The encoding is not always determined by the language that -# is chosen, but also whether or not the output is meant for Windows -# or non-Windows users. In case there is a difference, setting the -# USE_WINDOWS_ENCODING tag to YES forces the Windows encoding (this is -# the default for the Windows binary), whereas setting the tag to NO -# uses a Unix-style encoding (the default for all platforms other than -# Windows). - -USE_WINDOWS_ENCODING = NO - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = NO - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will -# prepend the brief description of a member or function before the -# detailed description. Note: if both HIDE_UNDOC_MEMBERS and -# BRIEF_MEMBER_DESC are set to NO, the brief descriptions will be -# completely suppressed. - -REPEAT_BRIEF = NO - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = YES - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show -# all inherited members of a class in the documentation of that class -# as if those members were ordinary class members. Constructors, -# destructors and assignment operators of the base classes will not be -# shown. - -INLINE_INHERITED_MEMB = YES - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an -# explicit @brief command for a brief description. - -JAVADOC_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = YES - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = YES - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = "doctodo=@todo\nDoc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more." \ - "isiosfwd=One of the @link s27_2_iosfwd I/O forward declarations @endlink" - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of -# Java sources only. Doxygen will then generate output that is more -# tailored for Java. For instance, namespaces will be presented as -# packages, qualified scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do -# not want to include (a tag file for) the STL sources as input, then -# you should set this tag to YES in order to let doxygen match -# functions declarations and definitions whose arguments contain STL -# classes (e.g. func(std::string); v.s. func(std::string) {}). This -# also make the inheritance and collaboration diagrams that involve -# STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = YES - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = YES - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO -#HIDE_SCOPE_NAMES = YES - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then -# Doxygen will put a list of the files that are included by a file in -# the documentation of that file. - -SHOW_INCLUDE_FILES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = YES - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -#SORT_BY_SCOPE_NAME = NO -SORT_BY_SCOPE_NAME = YES - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = NO - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = @enabled_sections@ - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 0 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple -# directories then setting the SHOW_DIRECTORIES tag to YES will show -# the directory hierarchy in the documentation. The default is NO. - -SHOW_DIRECTORIES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or -# script that doxygen should invoke to get the current version for -# each file (typically from the version control system). Doxygen will -# invoke the program by executing (via popen()) the command <command> -# <input-file>, where <command> is the value of the -# FILE_VERSION_FILTER tag, and <input-file> is the name of an input -# file provided by doxygen. Whatever the program writes to standard -# output is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = NO - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = NO - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their -# parameters or return value. If set to NO (the default) doxygen will -# only warn about wrong or incomplete parameter documentation, but not -# about the absence of documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories -# that contain documented source files. You may enter file names like -# "myfile.cpp" or directories like "/usr/src/myproject". Separate the -# files or directories with spaces. - -INPUT = @srcdir@/docs/doxygen/doxygroups.cc \ - @srcdir@/include/precompiled/stdc++.h \ - @srcdir@/include/precompiled/stdtr1c++.h \ - @srcdir@/include/precompiled/extc++.h \ - @srcdir@/libsupc++/cxxabi.h \ - @srcdir@/libsupc++/exception \ - @srcdir@/libsupc++/new \ - @srcdir@/libsupc++/typeinfo \ - include/@host_alias@/bits \ - include/bits \ - include/debug \ - include/parallel \ - include/ext \ - include/tr1 \ - include/tr1_impl \ - include/algorithm \ - include/array \ - include/bitset \ - include/cassert \ - include/ccomplex \ - include/cctype \ - include/cerrno \ - include/cfenv \ - include/cfloat \ - include/cinttypes \ - include/ciso646 \ - include/climits \ - include/clocale \ - include/cmath \ - include/csetjmp \ - include/csignal \ - include/cstdarg \ - include/cstdbool \ - include/cstddef \ - include/cstdint \ - include/cstdio \ - include/cstdlib \ - include/cstring \ - include/ctgmath \ - include/ctime \ - include/cwchar \ - include/cwctype \ - include/deque \ - include/fstream \ - include/functional \ - include/iomanip \ - include/ios \ - include/iosfwd \ - include/iostream \ - include/istream \ - include/iterator \ - include/limits \ - include/list \ - include/locale \ - include/map \ - include/memory \ - include/numeric \ - include/ostream \ - include/queue \ - include/random \ - include/regex \ - include/set \ - include/sstream \ - include/stack \ - include/stdexcept \ - include/streambuf \ - include/string \ - include/system_error \ - include/tuple \ - include/type_traits \ - include/unordered_map \ - include/unordered_set \ - include/utility \ - include/valarray \ - include/vector \ - include/backward/hash_map \ - include/backward/hash_set \ - include/debug/bitset \ - include/debug/deque \ - include/debug/list \ - include/debug/map \ - include/debug/set \ - include/debug/string \ - include/debug/vector \ - include/ext/algorithm \ - include/ext/functional \ - include/ext/iterator \ - include/ext/memory \ - include/ext/numeric \ - include/ext/rb_tree \ - include/ext/rope \ - include/ext/slist \ - include/ext/pb_ds \ - include/ext/pb_ds/detail \ - include/parallel/algorithm \ - include/parallel/numeric \ - include/tr1/array \ - include/tr1/ccomplex \ - include/tr1/cctype \ - include/tr1/cfenv \ - include/tr1/cfloat \ - include/tr1/cinttypes \ - include/tr1/climits \ - include/tr1/cmath \ - include/tr1/complex \ - include/tr1/cstdarg \ - include/tr1/cstdbool \ - include/tr1/cstdint \ - include/tr1/cstdio \ - include/tr1/cstdlib \ - include/tr1/ctgmath \ - include/tr1/ctime \ - include/tr1/cwchar \ - include/tr1/cwctype \ - include/tr1/functional \ - include/tr1/hashtable.h \ - include/tr1/memory \ - include/tr1/random \ - include/tr1/regex \ - include/tr1/tuple \ - include/tr1/type_traits \ - include/tr1/unordered_map \ - include/tr1/unordered_set \ - include/tr1_impl/utility \ - include/tr1_impl/array \ - include/tr1_impl/cctype \ - include/tr1_impl/cfenv \ - include/tr1_impl/cinttypes \ - include/tr1_impl/cmath \ - include/tr1_impl/complex \ - include/tr1_impl/cstdint \ - include/tr1_impl/cstdio \ - include/tr1_impl/cstdlib \ - include/tr1_impl/cwchar \ - include/tr1_impl/cwctype \ - include/tr1_impl/functional \ - include/tr1_impl/hashtable \ - include/tr1_impl/random \ - include/tr1_impl/regex \ - include/tr1_impl/tuple \ - include/tr1_impl/type_traits \ - include/tr1_impl/unordered_map \ - include/tr1_impl/unordered_set \ - include/tr1_impl/utility - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like -# *.cpp and *.h) to filter out the source-files in the directories. If -# left blank the following patterns are tested: *.c *.cc *.cxx *.cpp -# *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ -# *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py - -FILE_PATTERNS = *.h \ - *.hpp \ - *.tcc - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that -# should excluded from the INPUT source files. This way you can easily -# exclude a subdirectory from a directory tree whose root is specified -# with the INPUT tag. - -EXCLUDE = Makefile - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = stamp-* \ - *stdc++.h* \ - *stdtr1c++.h* \ - *extc++.h* \ - */.svn/* - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files -# will be generated. Documented entities will be cross-referenced with -# these sources. Note: To get rid of all source code in the generated -# output, make sure also VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = NO - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 2 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -#IGNORE_PREFIX = std \ -# std::tr1 \ -# __gnu_cxx \ -# __gnu_debug -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = @do_html@ - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = @html_output_dir@ - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = @srcdir@/docs/doxygen/style.css - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = NO - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = YES - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = YES - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = letter - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = amsmath - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = @do_man@ - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = YES - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. -# GLIBCXX NOTE: Necessary for namespaces to be sorted correctly. - -MACRO_EXPANSION = YES - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names -# that are defined before the preprocessor is started (similar to the -# -D option of gcc). The argument of the tag is a list of macros of -# the form: name or name=definition (no spaces). If the definition and -# the = are omitted =1 is assumed. To prevent a macro definition from -# being undefined via #undef or recursively expanded use the := -# operator instead of the = operator. - -PREDEFINED = __GTHREADS \ - _GLIBCXX_STD=std \ - _GLIBCXX_TR1=tr1 \ - "_GLIBCXX_BEGIN_NAMESPACE(name)=namespace name {" \ - "_GLIBCXX_BEGIN_NESTED_NAMESPACE(name, unused)=namespace name {" \ - _GLIBCXX_END_NAMESPACE=} \ - _GLIBCXX_END_NESTED_NAMESPACE=} \ - "_GLIBCXX_TEMPLATE_ARGS=..." \ - _GLIBCXX_DEPRECATED \ - _GLIBCXX_USE_WCHAR_T \ - _GLIBCXX_USE_LONG_LONG \ - __glibcxx_function_requires=// \ - __glibcxx_class_requires=// \ - __glibcxx_class_requires2=// \ - __glibcxx_class_requires3=// \ - __glibcxx_class_requires4=// - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES -# then this tag can be used to specify a list of macro names that -# should be expanded. The macro definition that is found in the -# sources will be used. Use the PREDEFINED tag if you want to use a -# different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = @generate_tagfile@ - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = YES - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes -# with base or super classes. Setting the tag to NO turns the diagrams -# off. Note that this option is superseded by the HAVE_DOT option -# below. This is only a fallback. It is recommended to install and use -# dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = NO - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot -# tool is available from the path. This tool is part of Graphviz, a -# graph visualization toolkit from AT&T and Lucent Bell Labs. The -# other options in this section have no effect if this option is set -# to NO (the default) - -HAVE_DOT = YES - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = NO - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = NO - -# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class -# method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable -# call graphs for selected functions only using the \callgraph -# command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a caller dependency graph for every global function or -# class method. Note that enabling this option will significantly -# increase the time of a run. So in most cases it will be better to -# enable caller graphs for selected functions only using the -# \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -#DOT_IMAGE_FORMAT = svg -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_WIDTH = 1024 - -# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_HEIGHT = 1024 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of -# the graphs generated by dot. A depth value of 3 means that only -# nodes reachable from the root by following a path via at most 3 -# edges will be shown. Nodes that lay further from the root node will -# be omitted. Note that setting this option to 1 or 2 may greatly -# reduce the computation time needed for large code bases. Also note -# that a graph may be further truncated if the graph's image -# dimensions are not sufficient to fit the graph (see -# MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the -# depth value (the default), the graph is not depth-constrained. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a -# transparent background. This is disabled by default, which results -# in a white background. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the -# edges of a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = YES - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = NO - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO |