# libstdc++-v3 Source Documentation

## Documentation Overview

@LEVEL@-level docs, generated @DATE@.

There are two types of documentation for libstdc++-v3. One is the distribution documentation, which can be read online at http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html or offline from docs/html/documentation.html in the library source directory.

The other type is the source documentation, of which this is the first page. Both "user-level" and "maintainer-level" source documentation is produced: user-level docs are for the users of this library. The maint-level docs are for those interested in the underlying workings of the library; they include all the user-level docs plus additional notes and additional classes/functions/etc.

Here are quick links to the pages which we seem to use the most; a full index is at the bottom:

- Compound List
- Alphabetical List
- File List
- Modules

## Generating this file

These HTML pages are automatically generated, along with the man pages. The Makefile rules `'make doxygen'` and `'make doxygen-maint'` in the libstdc++-v3 build directory generates these pages using a tool called, appropriately enough, Doxygen. To learn more about Doxygen, take a look at

The libstdc++-v3 configuration files needed to generate doxygen output are located:

- `docs/doxygen/user.cfg.in`
- `docs/doxygen/run_doxygen`

## libstdc++-v3 doxygen style guide

In general, libstdc++-v3 files should be formatted according to the GNU C++ Coding Standard rules found in the file C++STYLE. Before any doxygen-specific formatting tweaks are made, please try to make sure that the initial formatting is sound.

The formatting guidelines for using libstdc++-v3 with doxygen are still incomplete. There seems to be a marginal preference for the use of Java-Doc style formatting, with the idea that the single-line style (triple-slash) is the least intrusive mechanism for getting libstdc++-v3 documented and cross-referenced while at the same time minimizing disruption to the current formatting. Full documentation of functions (parameter types, return values, etc) will require the slash-splat-splat "extended C" commenting style.

## Full page index

Here are entry points to all the pages generated by Doxygen:

- Main Page
- Modules
- Namespace List
- Class Hierarchy
- Alphabetical List
- Compound List
- File List
- Namespace Members
- Compound Members
- File Members
- TODO List (This is incomplete... how ironic.)

## License, Copyright, and Other Lawyerly Verbosity

The libstdc++-v3 documentation is released under these terms.

Part of the generated documentation involved comments and notes from SGI, who says we gotta say this:

> 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.
> Copyright © 1994 Hewlett-Packard Company

Part of the generated documentation is quoted from the ISO C++ Standard, which is Copyright © 1998 by Information Technology Industry Council.