summaryrefslogtreecommitdiff
path: root/libstdc++-v3/docs/doxygen
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2008-01-18 08:16:51 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2008-01-18 08:16:51 +0000
commit0aeadebf36eab6d537b67b38c5dcacf648f2f69f (patch)
tree0fd3dc60ac26e2ec9502783b72d38867bcb418d8 /libstdc++-v3/docs/doxygen
parent9e61be0719e3f9d3bda483eaaf71ee67f02e81ae (diff)
downloadgcc-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.3132
-rw-r--r--libstdc++-v3/docs/doxygen/TODO70
-rw-r--r--libstdc++-v3/docs/doxygen/doxygroups.cc238
-rw-r--r--libstdc++-v3/docs/doxygen/guide.html112
-rw-r--r--libstdc++-v3/docs/doxygen/mainpage.html101
-rw-r--r--libstdc++-v3/docs/doxygen/run_doxygen328
-rw-r--r--libstdc++-v3/docs/doxygen/stdheader.cc170
-rw-r--r--libstdc++-v3/docs/doxygen/style.css74
-rw-r--r--libstdc++-v3/docs/doxygen/tables.html645
-rw-r--r--libstdc++-v3/docs/doxygen/user.cfg.in1436
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 &lt;pre&gt; 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 &quot;user-level&quot; and &quot;maintainer-level&quot; 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 &copy; 1994
- Hewlett-Packard Company
- </blockquote>
-</p>
-<p>Part of the generated documentation is quoted from the ISO C++ Standard,
- which is Copyright &copy; 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:]_]*\)&lt; .* &gt;=\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., &quot;tables.html#67&quot;. 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>&nbsp;</td>
-<td>T is Assignable</td>
-<td>compile time</td>
-</tr>
-
-<tr>
-<td>X::reference</td>
-<td>lvalue of T</td>
-<td>&nbsp;</td>
-<td>&nbsp;</td>
-<td>compile time</td>
-</tr>
-
-<tr>
-<td>X::const_reference</td>
-<td>const lvalue of T</td>
-<td>&nbsp;</td>
-<td>&nbsp;</td>
-<td>compile time</td>
-</tr>
-
-<tr>
-<td>X::iterator</td>
-<td>iterator type pointing to T</td>
-<td>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</td>
-<td>&nbsp;</td>
-<td>post: u.size() == 0</td>
-<td>constant</td>
-</tr>
-
-<tr>
-<td>X();</td>
-<td>&nbsp;</td>
-<td>&nbsp;</td>
-<td>X().size == 0</td>
-<td>constant</td>
-</tr>
-
-<tr>
-<td>X(a);</td>
-<td>&nbsp;</td>
-<td>&nbsp;</td>
-<td>a == X(a)</td>
-<td>linear</td>
-</tr>
-
-<tr>
-<td>X u(a);<br />X u = a;</td>
-<td>&nbsp;</td>
-<td>&nbsp;</td>
-<td>post: u == a. Equivalent to: X u; u = a;</td>
-<td>linear</td>
-</tr>
-
-<tr>
-<td>(&amp;a)-&gt;~X();</td>
-<td>void</td>
-<td>&nbsp;</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>&nbsp;</td>
-<td>&nbsp;</td>
-<td>constant</td>
-</tr>
-
-<tr>
-<td>a.end()</td>
-<td>iterator; const_iterator for constant a</td>
-<td>&nbsp;</td>
-<td>&nbsp;</td>
-<td>constant</td>
-</tr>
-
-<tr>
-<td>a == b</td>
-<td>convertible to bool</td>
-<td>&nbsp;</td>
-<td>== is an equivalence relation. a.size()==b.size() &amp;&amp;
- equal(a.begin(),a.end(),b.begin())</td>
-<td>linear</td>
-</tr>
-
-<tr>
-<td>a != b</td>
-<td>convertible to bool</td>
-<td>&nbsp;</td>
-<td>equivalent to !(a==b)</td>
-<td>linear</td>
-</tr>
-
-<tr>
-<td>a.swap(b)</td>
-<td>void</td>
-<td>&nbsp;</td>
-<td>swap(a,b)</td>
-<td>may or may not have constant complexity</td>
-</tr>
-
-<tr>
-<td>r = a</td>
-<td>X&amp;</td>
-<td>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</td>
-<td>constant</td>
-</tr>
-
-<tr>
-<td>a &lt; b</td>
-<td>convertible to bool</td>
-<td>lexographical_compare( a.begin, a.end(), b.begin(), b.end())</td>
-<td>pre: &lt; is defined for T and is a total ordering relation</td>
-<td>linear</td>
-</tr>
-
-<tr>
-<td>a &gt; b</td>
-<td>convertible to bool</td>
-<td>b &lt; a</td>
-<td>&nbsp;</td>
-<td>linear</td>
-</tr>
-
-<tr>
-<td>a &lt;= b</td>
-<td>convertible to bool</td>
-<td>!(a &gt; b)</td>
-<td>&nbsp;</td>
-<td>linear</td>
-</tr>
-
-<tr>
-<td>a &gt;= b</td>
-<td>convertible to bool</td>
-<td>!(a &lt; b)</td>
-<td>&nbsp;</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&lt;iterator&gt;</td>
-<td>compile time</td>
-</tr>
-
-<tr>
-<td>X::const_reverse_iterator</td>
-<td>iterator type pointing to const T</td>
-<td>reverse_iterator&lt;const_iterator&gt;</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>&nbsp;</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>&nbsp;</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&gt;=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&lt;key_type&gt;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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&lt;iterator,bool&gt;</td>
-<td>&quot;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.&quot;</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&lt;iterator,iterator&gt;;
- pair&lt;const_iterator, const_iterator&gt; 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