1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.12"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>Doxygen: Features</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="navtree.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="resize.js"></script>
14 <script type="text/javascript" src="navtreedata.js"></script>
15 <script type="text/javascript" src="navtree.js"></script>
16 <script type="text/javascript">
17 $(document).ready(initResizable);
19 <link href="doxygen_manual.css" rel="stylesheet" type="text/css" />
22 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
24 <table cellspacing="0" cellpadding="0">
26 <tr style="height: 56px;">
27 <td id="projectalign" style="padding-left: 0.5em;">
28 <div id="projectname">Doxygen
35 <!-- end header part -->
36 <!-- Generated by Doxygen 1.8.12 -->
38 <div id="side-nav" class="ui-resizable side-nav-resizable">
40 <div id="nav-tree-contents">
41 <div id="nav-sync" class="sync"></div>
44 <div id="splitbar" style="-moz-user-select:none;"
45 class="ui-resizable-handle">
48 <script type="text/javascript">
49 $(document).ready(function(){initNavTree('features.html','');});
51 <div id="doc-content">
53 <div class="headertitle">
54 <div class="title">Features </div> </div>
56 <div class="contents">
57 <div class="textblock"><p><a name="afeatures"></a> </p><ul>
59 Requires very little overhead from the writer of the documentation. Plain text will do, Markdown is support, and for more fancy or structured output HTML tags and/or some of doxygen's special commands can be used. </li>
61 Cross platform: works on Windows and many Unix flavors (including Linux and MacOSX). </li>
63 Indexes, organizes and generates browsable and cross-referenced output even from undocumented code. </li>
65 Generates structured XML output for parsed sources, which can be used by external tools. </li>
67 Supports C/C++, Java, (Corba and Microsoft) Java, Python, VHDL, PHP IDL, C#, Fortran, TCL, Objective-C 2.0, and to some extent D sources. </li>
69 Supports documentation of files, namespaces, packages, classes, structs, unions, templates, variables, functions, typedefs, enums and defines. </li>
71 JavaDoc (1.1), qdoc3 (partially), and ECMA-334 (C# spec.) compatible. </li>
73 Comes with a GUI frontend (Doxywizard) to ease editing the options and run doxygen. The GUI is available on Windows, Linux, and MacOSX. </li>
75 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>
77 Uses the <code>dot</code> tool of the Graphviz tool kit to generate include dependency graphs, collaboration diagrams, call graphs, directory structure graphs, and graphical class hierarchy graphs. </li>
79 Allows grouping of entities in modules and creating a hierarchy of modules. </li>
81 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>
83 Generates a list of all members of a class (including any inherited members) along with their protection level. </li>
85 Outputs documentation in on-line format (XHTML 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 />
86 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>
88 Support for various third party help formats including HTML Help, docsets, Qt-Help, and eclipse help. </li>
90 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>
92 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>
94 Automatically generates references to documented classes, files, namespaces and members. Documentation of global functions, global variables, typedefs, defines and enumerations is also supported. </li>
96 References to base/super classes and inherited/overridden members are generated automatically. </li>
98 Includes a fast, rank based search engine to search for strings or words in the class and member documentation (PHP based). </li>
100 Includes an Javascript based live search feature to search for symbols as you type (for small to medium sized projects). </li>
102 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>
104 Allows references to documentation generated for other (doxygen documented) projects (or another part of the same project) in a location independent way. </li>
106 Allows inclusion of source code examples that are automatically cross-referenced with the documentation. </li>
108 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>
110 Allows automatic cross-referencing of (documented) entities with their definition in the source code. </li>
112 All source code fragments are syntax highlighted for ease of reading. </li>
114 Allows inclusion of function/member/class definitions in the documentation. </li>
116 All options are read from an easy to edit and (optionally) annotated configuration file. </li>
118 Documentation and search engine can be transferred to another location or machine without regenerating the documentation. </li>
120 Supports many different character encodings and uses UTF-8 internally and for the generated output. </li>
122 Doxygen can generate a layout which you can use and edit to change the layout of each page. </li>
124 There more than a 100 configurable options to fine-tune the output. </li>
126 Can cope with large projects easily. </li>
128 <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 Qt Software's <a href="http://qt-project.org/">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 Qt Software. 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>
129 <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!</p>
131 Go to the <a href="doxygen_usage.html">next</a> section or return to the
132 <a href="index.html">index</a>.
134 </div></div><!-- contents -->
135 </div><!-- doc-content -->
136 <!-- start footer part -->
137 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
139 <li class="footer">Generated by
140 <a href="http://www.doxygen.org/index.html">
141 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.12 </li>