<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Doxygen manual: Features</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.5 --> <div class="contents"> <h1><a class="anchor" name="features">Features </a></h1> <ul> <li> Requires very little overhead from the writer of the documentation. Plain text will do, but for more fancy or structured output HTML tags and/or some of doxygen's special commands can be used. </li> <li> Supports C/C++, Java, (Corba and Microsoft) Java, Python, IDL, C#, Objective-C and to some extent D and PHP sources. </li> <li> Supports documentation of files, namespaces, packages, classes, structs, unions, templates, variables, functions, typedefs, enums and defines. </li> <li> JavaDoc (1.1), Qt-Doc, and ECMA-334 (C# spec.) compatible. </li> <li> Automatically generates class and collaboration diagrams in HTML (as clickable image maps) and <img class="formulaInl" alt="$\mbox{\LaTeX}$" src="form_0.png"> (as Encapsulated PostScript images). </li> <li> Uses the dot tool of the Graphviz tool kit to generate include dependency graphs, collaboration diagrams, call graphs, directory structure graphs, and graphical class hierarchy graphs. </li> <li> Flexible comment placement: Allows you to put documentation in the header file (before the declaration of an entity), source file (before the definition of an entity) or in a separate file. </li> <li> Generates a list of all members of a class (including any inherited members) along with their protection level. </li> <li> Outputs documentation in on-line format (HTML and UNIX man page) and off-line format (<img class="formulaInl" alt="$\mbox{\LaTeX}$" src="form_0.png"> and RTF) simultaneously (any of these can be disabled if desired). All formats are optimized for ease of reading. <br> Furthermore, compressed HTML can be generated from HTML output using Microsoft's HTML Help Workshop (Windows only) and PDF can be generated from the <img class="formulaInl" alt="$\mbox{\LaTeX}$" src="form_0.png"> output. </li> <li> Includes a full C preprocessor to allow proper parsing of conditional code fragments and to allow expansion of all or part of macros definitions. </li> <li> Automatically detects public, protected and private sections, as well as the Qt specific signal and slots sections. Extraction of private class members is optional. </li> <li> Automatically generates references to documented classes, files, namespaces and members. Documentation of global functions, globals variables, typedefs, defines and enumerations is also supported. </li> <li> References to base/super classes and inherited/overridden members are generated automatically. </li> <li> Includes a fast, rank based search engine to search for strings or words in the class and member documentation. </li> <li> You can type normal HTML tags in your documentation. Doxygen will convert them to their equivalent <img class="formulaInl" alt="$\mbox{\LaTeX}$" src="form_0.png">, RTF, and man-page counterparts automatically. </li> <li> Allows references to documentation generated for other projects (or another part of the same project) in a location independent way. </li> <li> Allows inclusion of source code examples that are automatically cross-referenced with the documentation. </li> <li> Inclusion of undocumented classes is also supported, allowing to quickly learn the structure and interfaces of a (large) piece of code without looking into the implementation details. </li> <li> Allows automatic cross-referencing of (documented) entities with their definition in the source code. </li> <li> All source code fragments are syntax highlighted for ease of reading. </li> <li> Allows inclusion of function/member/class definitions in the documentation. </li> <li> All options are read from an easy to edit and (optionally) annotated configuration file. </li> <li> Documentation and search engine can be transferred to another location or machine without regenerating the documentation. </li> <li> Can cope with large projects easily. </li> </ul> <p> Although doxygen can now be used in any project written in a language that is supported by doxygen, initially it was specifically designed to be used for projects that make use of Troll Tech's <a href="http://www.trolltech.com/products/qt.html">Qt toolkit</a>. I have tried to make doxygen `Qt-compatible'. That is: Doxygen can read the documentation contained in the Qt source code and create a class browser that looks quite similar to the one that is generated by Troll Tech. Doxygen understands the C++ extensions used by Qt such as signals and slots and many of the markup commands used in the Qt sources.<p> Doxygen can also automatically generate links to existing documentation that was generated with Doxygen or with Qt's non-public class browser generator. For a Qt based project this means that whenever you refer to members or classes belonging to the Qt toolkit, a link will be generated to the Qt documentation. This is done independent of where this documentation is located! </div> <hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 10:26:56 2008 for Doxygen manual by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address> </body> </html>