Commit 79099187 authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.8.4

parent 8dc4ff6d
DOXYGEN Version 1.8.3.1-20130512
DOXYGEN Version 1.8.4
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (12 May 2013)
Dimitri van Heesch (19 May 2013)
DOXYGEN Version 1.8.3.1_20130512
DOXYGEN Version 1.8.4
Please read INSTALL for compilation instructions.
......@@ -26,4 +26,4 @@ forum.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (12 May 2013)
Dimitri van Heesch (dimitri@stack.nl) (19 May 2013)
......@@ -17,10 +17,10 @@
doxygen_version_major=1
doxygen_version_minor=8
doxygen_version_revision=3.1
doxygen_version_revision=4
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn=20130512
doxygen_version_mmn=NO
bin_dirs=`echo $PATH | sed -e "s/:/ /g"`
......@@ -478,7 +478,7 @@ if test "$f_libclang" = YES; then
if test "$f_libclangstatic" = NO; then
libclang_link="-L $i -lclang"
else
libclang_link="$i/libLLVMBitReader.a $i/libLLVMMC.a $i/libLLVMMCParser.a $i/libLLVMSupport.a $i/libclang.a $i/libclangAST.a $i/libclangAnalysis.a $i/libclangBasic.a $i/libclangDriver.a $i/libclangEdit.a $i/libclangFrontend.a $i/libclangLex.a $i/libclangParse.a $i/libclangRewriteCore.a $i/libclangSema.a $i/libclangSerialization.a $i/libclangStaticAnalyzerCore.a"
libclang_link="$i/libclang.a $i/libclangFrontend.a $i/libclangSerialization.a $i/libclangParse.a $i/libclangSema.a $i/libclangAnalysis.a $i/libclangStaticAnalyzerCore.a $i/libclangAST.a $i/libclangBasic.a $i/libclangDriver.a $i/libclangEdit.a $i/libclangLex.a $i/libclangRewriteCore.a $i/libLLVMBitReader.a $i/libLLVMMC.a $i/libLLVMMCParser.a $i/libLLVMSupport.a -ldl -lpthread"
fi
break
fi
......
/** \page changelog Changelog
\tableofcontents
\section log_1_8 Release 1.8
\subsection log_1_8_4 Release 1.8.4
\htmlonly
<b>(release date 19-05-2013)</b>
<a name="1.8.3.1"></a>
<h3>Changes</h3>
<ul>
<li> id 686384: When INLINE_SIMPLE_STRUCTS is enabled, also structs with
simple typedefs will be inlined.
<li> Doxywizard: scrolling with mouse wheel no longer affects the values in
the expert view.
<li> id 681733: More consistent warnings and errors.
</ul>
<h3>New features</h3>
<ul>
<li> Added support for "clang assisted parsing", which allows
the code to also be parsed via libclang (C/C++ frontend of LLVM)
and can improve the quality of the syntax highting, cross-references,
and call graphs, especially for template heavy C++ code. To enable
this feature you have to configure doxygen with the --with-libclang
option. Then you get two new configuration options: CLANG_ASSISTED_PARSING
to enable or disable parsing via clang and CLANG_OPTIONS to pass additional
compiler options needed to compile the files. Note that enabling this feature
has a significant performance penality.
<li> Included patch donated by Intel which adds Docbook support.
This can be enabled via GENERATE_DOCBOOK and the output location can
be controlled using DOCBOOK_OUTPUT. Docbook specific sections can be
added using \docbookonly ... \enddocbookonly
<li> Added support for UNO IDL (interace language used in Open/Libre Office), thanks to
Michael Stahl for the patch.
<li> Included patch by Adrian Negreanu which stores data gathered by
doxygen in a sqlite3 database. Currently still work in progress and
can only be enabled using --with-sqlite3 during ./configure.
<li> For interactive SVG graphs, edges are now highlighted when hovered by
the mouse.
<li> Include patch by Adrian Negreanu to show duration statistics after a run.
You can enable this by running doxygen with the "-d Time" option.
<li> Included patch by Markus Geimer which adds a new option
LATEX_EXTRA_FILES which works similarily to HTML_EXTRA_FILES in that
it copied specified files to the LaTeX output directory.
<li> id 698223: Added support for C++11 keyword alignas
<li> id 693178: Added support for processing DocSets with Dash (thanks to
Bogdan Popescu for the patch
<li> id 684782: Added option EXTERNAL_PAGES which can be used to determine
whether or not pages importated via tags will appear under related
pages (similar to EXTERNAL_GROUPS).
<li> id 692227: Added new MathJax command MATHJAX_CODEFILE which supports
including a file with MathJax related scripting to be inserted before
the MathJax script is loaded. Thanks to Albert for the patch.
<li> id 693537: Comments in the config file starting with ## will now be
kept when upgrading the file with doxygen -u (and doxygen -s -u).
Thanks to Albert for the patch.
<li> id 693422: Adds support for Latvian (thanks to a patch by Lauris).
<li> Included language updates for Ukrainian, Romanian, and Korean
</ul>
<h3>Bug fixes (ids refer to the <a href="http://bugzilla.gnome.org/buglist.cgi?product=doxygen&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&status_whiteboard=&status_whiteboard_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&newqueryname=&form_name=query&order=bugs.bug_id">bugzilla</a> database)</h3>
<ul>
<li> id 145294: Fixed parse issue when using less than inside a template
argument.
<li> id 325266 man page output was missing a linebreak before .SH when
definition a group with a section.
<li> id 338205: @anchor were wrong when CREATE_SUBDIRS was enabled.
<li> id 427012: Putting a @todo in front of an anonoymous namespace caused
bogus entry in the todo list.
<li> id 564462: Fixed alignment issue with tabs and multibyte characters.
<li> id 567542: Character entities in titles were not rendered correctly
in the HTML navigation tree.
<li> id 571561: No space between * and tag (e.g. \endcode) made parser
misbehave
<li> id 583233: Included patch to limit generated Doxyfile comments to 80
columns
<li> id 592626: Fixed off-by-one with MAX_DOT_GRAPH_DEPTH.
<li> id 619790: Improved linking to template specializations.
Thanks to David Haney for the patch.
<li> id 627712: Doxygen Header in C Files makes empty Lines in HTML Source
Code when starts in Line 1
<li> id 639954: Fortran: array constructors with brackets were not correctly
recognized.
<li> id 646428: The generated man pages had a .PP just before the subject
description
<li> id 646431: On generated manpages the return section is incorrectly
indented
<li> id 650004: use \page now generates a man page were the . is not
replaced by _8.
<li> id 657704: Fixed issue with PROJECT_LOGO when using backslashes in
the path.
<li> id 666008: Fortran: Using @var at module levele didn't work.
expect a file/path name.
<li> id 673218: Replaced "echo -n" with "printf" in the configure script.
<li> id 674856: Removed warning when using \endinternal
<li> id 675607: Added &, @, and # as allowed characters for commands that
<li> id 679626: Included patch by Abert to correctly link pages in the manual
<li> id 681874: Added support for single column Markdown tables.
<li> id 682369: Incomplete documentation on doxygen -w latex
<li> id 683516: Doxygen crashed when structural commands (like \var) appeared
in .md files.
<li> id 686259: Fixed character encoding problem when multibytes characters
were used in anchors.
<li> id 691071: Documentation before an anonymous member did not appear.
<li> id 692162: Fixed Markdown related indentation problem.
<li> id 692320: Regression: Text after @copydoc was not visible anymore.
<li> id 692537: Linked to external pages was done using the page label
rather than the file name.
<li> id 693331: build using ./configure ; make did not work if the path
contained a space.
<li> id 693406: Tag files are now identfied by the full path instead of
only the name of the tag file.
<li> id 694376: In some cases members were missing from the tag file.
<li> id 694027: Fortran: derive intent from documentation in case no
intent is specified
<li> id 694610: Warning was not reported at the correct line in two cases.
<li> id 694631, 694632: @cond..@endcond did not work properly for removing
macro definitions.
<li> id 694685: Fixed crash when adding two different functions with the
same name to the same group.
<li> id 694726: VHDL: fixed issue generating LaTeX output.
<li> id 695277: Fortran: improved handling of protected statement
<li> id 695974: Fortran: Fixed issue resulting in
"Stack buffers nested too deeply" error.
<li> id 696708: @cond was not handled properly by the preprocessor.
<li> id 697233: @copyright command did not end a brief description.
<li> id 697249: Markdown tables caused errors reported at wrong line number.
<li> id 697494: Removed double entry from the messages produced by doxygen.
<li> id 698818: Fixed problem handling @cond for #define's
<li> id 698007: Fixed potential crash when searching files.
<li> id 696925: #include's inside namespace could result in duplicate entries.
<li> id 696954: Doxywizard: Labels of items are now also grayed out
when an item is disabled (thanks to Albert for the patch).
<li> id 699195: Changed Markdown page label to support multiple .md files
with the same name.
<li> id 699218: Fixed issue with margin computation in resize.js.
<li> id 699381: Lonely h4,h5,h6 end tag caused assert.
<li> id 699437: Trailing comments were not always rendered properly if
MARKDOWN_SUPPORT was enabled.
<li> id 699460: Updated doxygen man page (thanks to Manuel for the patch).
<li> id 699464: Added reference to \xmlonly and \docbookonly in \htmlonly
<li> id 699731: LaTeX: switch to using the xtabular package instead of
longtable to prevent overfull vbox errors.
<li> id 699732: Template parameters and Exceptions were rendered differently
than Parameters and Return Values in the LaTeX output.
<li> id 700153: Tcl: Fixed crash when parsing certain Tcl code.
<li> id 700345: Comment blocking ending with ///// made slashes appear in
the output.
<li> id 700456: Added support for separating auto list items with an
empty paragraph.
<li> Included a couple of VHDL fixes (thanks to Martin Kreis for the patch)
<li> \include and \includelineno both showed line numbers.
<li> Putting '// @endverbatim' inside a C comment block was not handled
properly by the preprocessor.
<li> Fixed various typo's in the manual and improved cross referencing
(thanks to Albert and Guillem Jover for their help)
<li> Added a couple of missing configuration dependencies.
</ul>
\endhtmlonly
\subsection log_1_8_3_1 Release 1.8.3.1
\htmlonly
<b>(release date 20-01-2013)</b>
......@@ -27,7 +182,7 @@
<li> To make navindex section without any link inside a layout file you
can use usergroup with special title [none].
</ul>
<h3>Bug fixes (ids refer to the <a href="http://bugzilla.gnome.org/buglist.cgi?product=doxygen&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&status_whiteboard=&status_whiteboard_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&newqueryname=&form_name=query&order=bugs.bug_id">bugzilla</a> database)</h3>
<h3>Bug fixes</h3>
<ul>
<li> id 644350: Fortran: Included patch to improve parsing line continuation
characters.
......
......@@ -35,6 +35,7 @@ If in addition to the above argument specifiers [square] brackets are used the a
Here is an alphabetically sorted list of all commands with references to their
documentation:
\anchor showsecreflist
\secreflist
\refitem cmda \\a
\refitem cmdaddindex \\addindex
......@@ -85,6 +86,7 @@ documentation:
\refitem cmdendmanonly \\endmanonly
\refitem cmdendmsc \\endmsc
\refitem cmdendrtfonly \\endrtfonly
\refitem cmdendsecreflist \\endsecreflist
\refitem cmdendverbatim \\endverbatim
\refitem cmdendxmlonly \\endxmlonly
\refitem cmdenum \\enum
......@@ -102,6 +104,7 @@ documentation:
\refitem cmdhideinitializer \\hideinitializer
\refitem cmdhtmlinclude \\htmlinclude
\refitem cmdhtmlonly \\htmlonly
\refitem cmdidlexcept \\idlexcept
\refitem cmdif \\if
\refitem cmdifnot \\ifnot
\refitem cmdimage \\image
......@@ -136,14 +139,16 @@ documentation:
\refitem cmdpost \\post
\refitem cmdpre \\pre
\refitem cmdprivate \\private
\refitem cmdprivate \\privatesection
\refitem cmdprivatesection \\privatesection
\refitem cmdproperty \\property
\refitem cmdprotected \\protected
\refitem cmdprotected \\protectedsection
\refitem cmdprotectedsection \\protectedsection
\refitem cmdprotocol \\protocol
\refitem cmdpublic \\public
\refitem cmdpublic \\publicsection
\refitem cmdpublicsection \\publicsection
\refitem cmdpure \\pure
\refitem cmdref \\ref
\refitem cmdrefitem \\refitem
\refitem cmdrelated \\related
\refitem cmdrelates \\relates
\refitem cmdrelatedalso \\relatedalso
......@@ -156,6 +161,7 @@ documentation:
\refitem cmdretval \\retval
\refitem cmdrtfonly \\rtfonly
\refitem cmdsa \\sa
\refitem cmdsecreflist \\secreflist
\refitem cmdsection \\section
\refitem cmdsee \\see
\refitem cmdshort \\short
......@@ -198,6 +204,7 @@ documentation:
\refitem cmdquot \\\"
\refitem cmdchardot \\\.
\refitem cmddcolon \::
\refitem cmdpipe \\|
\endsecreflist
The following subsections provide a list of all commands that are recognized by
......@@ -251,7 +258,7 @@ Structural indicators
\addindex \\callgraph
When this command is put in a comment block of a function or method
and \ref cfg_have_dot "HAVE_DOT" is set to YES, then doxygen will
and \ref cfg_have_dot "HAVE_DOT" is set to \c YES, then doxygen will
generate a call graph for that function (provided the implementation of the
function or method calls other documented functions). The call graph will be
generated regardless of the value of \ref cfg_call_graph "CALL_GRAPH".
......@@ -265,7 +272,7 @@ Structural indicators
\addindex \\callergraph
When this command is put in a comment block of a function or method
and \ref cfg_have_dot "HAVE_DOT" is set to YES, then doxygen will
and \ref cfg_have_dot "HAVE_DOT" is set to \c YES, then doxygen will
generate a caller graph for that function (provided the implementation of the
function or method calls other documented functions). The caller graph will be
generated regardless of the value of \ref cfg_caller_graph "CALLER_GRAPH".
......@@ -358,7 +365,7 @@ Structural indicators
the documentation block is located outside the class definition,
the scope of the class should be specified as well.
If a comment block is located directly in front of an enum declaration,
the \\enum comment may be omitted.
the \c \\enum comment may be omitted.
\par Note:
The type of an anonymous enum cannot be documented, but the values
......@@ -391,7 +398,7 @@ Structural indicators
to disambiguate it.
If more than one source file is needed for the example,
the \\include command can be used.
the \ref cmdinclude "\\include" command can be used.
\par Example:
\verbinclude example.cpp
......@@ -409,9 +416,9 @@ Structural indicators
\addindex \\endinternal
This command ends a documentation fragment that was started with a
\ref cmdinternal "\\internal" command. The text between \c \\internal and
\ref cmdinternal "\\internal" command. The text between \ref cmdinternal "\\internal" and
\c \\endinternal will only be visible
if \ref cfg_internal_docs "INTERNAL_DOCS" is set to YES.
if \ref cfg_internal_docs "INTERNAL_DOCS" is set to \c YES.
<hr>
\section cmdextends \\extends <name>
......@@ -438,8 +445,8 @@ Structural indicators
Indicates that a comment block contains documentation for a source or
header file with name \<name\>. The file name may include (part of) the
path if the file-name alone is not unique. If the file name is omitted
(i.e. the line after \\file is left blank) then the documentation block that
contains the \\file command will belong to the file it is located in.
(i.e. the line after \c \\file is left blank) then the documentation block that
contains the \c \\file command will belong to the file it is located in.
\par Important:
The documentation of global functions, variables, typedefs, and enums will
......@@ -453,7 +460,7 @@ Structural indicators
\endhtmlonly
\note In the above example \ref cfg_javadoc_autobrief "JAVADOC_AUTOBRIEF"
has been set to YES in the configuration file.
has been set to \c YES in the configuration file.
<hr>
\section cmdfn \\fn (function declaration)
......@@ -469,10 +476,11 @@ Structural indicators
should) be omitted.
A full function declaration including arguments should be specified after the
\\fn command on a \e single line, since the argument ends at the end
\c \\fn command on a \e single line, since the argument ends at the end
of the line!
This command is equivalent to \\var, \\typedef, and \\property.
This command is equivalent to \ref cmdvar "\\var", \ref cmdtypedef "\\typedef",
and \ref cmdproperty "\\property".
\warning Do not use this command
if it is not absolutely needed, since it will lead to duplication of
......@@ -511,8 +519,8 @@ Structural indicators
If a pair of double quotes is given for either the \<header-file\> or
\<header-name\> argument, the current file (in which the command was found)
will be used but with quotes. So for a comment block with a \\headerfile
command inside a file test.h, the following three commands are equivalent:
will be used but with quotes. So for a comment block with a \c \\headerfile
command inside a file <code>test.h</code>, the following three commands are equivalent:
\verbatim
\headerfile test.h "test.h"
\headerfile test.h ""
......@@ -545,6 +553,13 @@ Structural indicators
\sa section \ref cmdshowinitializer "\\showinitializer".
<hr>
\section cmdidlexcept \\idlexcept <name>
\addindex \\idlexcept
Indicates that a comment block contains documentation for a
IDL exception with name \<name\>.
<hr>
\section cmdimplements \\implements <name>
......@@ -567,7 +582,7 @@ Structural indicators
\section cmdingroup \\ingroup (<groupname> [<groupname> <groupname>])
\addindex \\ingroup
If the \\ingroup command is placed in a comment block of a
If the \c \\ingroup command is placed in a comment block of a
class, file or namespace, then it will be added to the group or
groups identified by \<groupname\>.
......@@ -579,8 +594,8 @@ Structural indicators
\addindex \\interface
Indicates that a comment block contains documentation for an
interface with name \<name\>. The arguments are equal to the arguments of the \\class
command.
interface with name \<name\>. The arguments are equal to the arguments of the
\ref cmdclass "\\class" command.
\sa section \ref cmdclass "\\class".
......@@ -593,7 +608,7 @@ Structural indicators
You can also force the internal section to end earlier by using the
\ref cmdendinternal "\\endinternal" command.
If the \\internal command is put inside a section
If the \c \\internal command is put inside a section
(see for example \ref cmdsection "\\section") all subsections after the
command are considered to be internal as well. Only a new section at the
same level will end the fragment that is considered internal.
......@@ -609,13 +624,13 @@ Structural indicators
\addindex \\mainpage
If the \\mainpage command is placed in a comment block the
If the \c \\mainpage command is placed in a comment block the
block is used to customize the index page (in HTML) or
the first chapter (in \f$\mbox{\LaTeX}\f$).
The title argument is optional and replaces the default title that
doxygen normally generates. If you do not want any title you can
specify \c notitle as the argument of \\mainpage.
specify \c notitle as the argument of \c \\mainpage.
Here is an example:
\verbatim
......@@ -633,7 +648,7 @@ Structural indicators
*/
\endverbatim
You can refer to the main page using \\ref index.
You can refer to the main page using: <code>\ref cmdref "\\ref" index</code>.
\sa section \ref cmdsection "\\section",
section \ref cmdsubsection "\\subsection", and
......@@ -696,6 +711,7 @@ Structural indicators
\sa sections \ref cmdpublicsection "\\publicsection",
\ref cmdprotectedsection "\\protectedsection" and
\ref cmdprivatesection "\\privatesection".
<hr>
\section cmdoverload \\overload [(function declaration)]
......@@ -717,9 +733,9 @@ Structural indicators
You are responsible that there is indeed an
earlier documented member that is overloaded by this one.
To prevent that document reorders the documentation you should set
\ref cfg_sort_member_docs "SORT_MEMBER_DOCS" to NO in this case.
\ref cfg_sort_member_docs "SORT_MEMBER_DOCS" to \c NO in this case.
\par Note 2:
The \\overload command does not work inside a one-line comment.
The \c \\overload command does not work inside a one-line comment.
\par Example:
\verbinclude examples/overload.cpp
\htmlonly
......@@ -755,7 +771,7 @@ Structural indicators
The \<name\> argument consists of a combination of letters and number
digits. If you wish to use upper case letters (e.g. \c MYPAGE1), or
mixed case letters (e.g. \c MyPage1) in the \<name\> argument, you
should set \c CASE_SENSE_NAMES to \c YES. However, this is advisable
should set \ref cfg_case_sense_names "CASE_SENSE_NAMES" to \c YES. However, this is advisable
only if your file system is case sensitive. Otherwise (and for better
portability) you should use all lower case letters (e.g. \c mypage1)
for \<name\> in all references to the page.
......@@ -768,7 +784,7 @@ Structural indicators
\section cmdprivate \\private
\addindex \\private
Indicates that the member documented in the comment block is private,
Indicates that the member documented by the comment block is private,
i.e., should only be accessed by other members in the same class.
Note that Doxygen automatically detects the protection level of members
......@@ -777,7 +793,7 @@ Structural indicators
(e.g. C, PHP 4).
For starting a section of private members, in a way similar to the
"private:" class marker in C++, use \\privatesection.
"private:" class marker in C++, use \ref cmdprivatesection "\\privatesection".
\sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public",
\ref cmdprotected "\\protected" and \ref cmdprivatesection "\\privatesection".
......@@ -788,7 +804,7 @@ Structural indicators
\addindex \\privatesection
Starting a section of private members, in a way similar to the
"private:" class marker in C++.
Indicates that the member documented in the comment block is private,
Indicates that the member documented by the comment block is private,
i.e., should only be accessed by other members in the same class.
\sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public",
......@@ -800,7 +816,8 @@ Structural indicators
\addindex \\property
Indicates that a comment block contains documentation for a
property (either global or as a member of a class).
This command is equivalent to \\var, \\typedef, and \\fn.
This command is equivalent to \ref cmdfn "\\fn",
\ref cmdtypedef "\\typedef", and \ref cmdvar "\\var".
\sa sections \ref cmdfn "\\fn", \ref cmdtypedef "\\typedef", and
\ref cmdvar "\\var".
......@@ -809,7 +826,7 @@ Structural indicators
\section cmdprotected \\protected
\addindex \\protected
Indicates that the member documented in the comment block is protected,
Indicates that the member documented by the comment block is protected,
i.e., should only be accessed by other members in the same or derived
classes.
......@@ -819,7 +836,7 @@ Structural indicators
(e.g. C, PHP 4).
For starting a section of protected members, in a way similar to the
"protected:" class marker in C++, use \\protectedsection.
"protected:" class marker in C++, use \ref cmdprotectedsection "\\protectedsection".
\sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public",
\ref cmdprivate "\\private" and \ref cmdprotectedsection "\\protectedsection".
......@@ -830,7 +847,7 @@ Structural indicators
\addindex \\protectedsection
Starting a section of protected members, in a way similar to the
"protected:" class marker in C++.
Indicates that the member documented in the comment block is protected,
Indicates that the member documented by the comment block is protected,
i.e., should only be accessed by other members in the same or derived
classes.
......@@ -843,7 +860,7 @@ Structural indicators
\addindex \\protocol
Indicates that a comment block contains documentation for a
protocol in Objective-C with name \<name\>. The arguments are equal
to the \\class command.
to the \ref cmdclass "\\class" command.
\sa section \ref cmdclass "\\class".
......@@ -851,7 +868,7 @@ Structural indicators
\section cmdpublic \\public
\addindex \\public
Indicates that the member documented in the comment block is public,
Indicates that the member documented by the comment block is public,
i.e., can be accessed by any other class or function.
Note that Doxygen automatically detects the protection level of members
......@@ -860,7 +877,7 @@ Structural indicators
(e.g. C, PHP 4).
For starting a section of public members, in a way similar to the
"public:" class marker in C++, use \\publicsection.
"public:" class marker in C++, use \ref cmdpublicsection "\\publicsection".
\sa sections \ref cmdmemberof "\\memberof", \ref cmdprotected "\\protected",
\ref cmdprivate "\\private" and \ref cmdpublicsection "\\publicsection".
......@@ -871,12 +888,23 @@ Structural indicators
\addindex \\publicsection
Starting a section of public members, in a way similar to the
"public:" class marker in C++.
Indicates that the member documented in the comment block is public,
Indicates that the member documented by the comment block is public,
i.e., can be accessed by any other class or function.
\sa sections \ref cmdmemberof "\\memberof", \ref cmdprotected "\\protected",
\ref cmdprivate "\\private" and \ref cmdpublic "\\public".
<hr>
\section cmdpure \\pure
\addindex \\pure
Indicates that the member documented by the comment block is pure virtual,
i.e., it is abstract and has no implementation associated with it.
This command is intended for use only when
the language does not support the concept of pure virtual methods natively
(e.g. C, PHP 4).
<hr>
\section cmdrelates \\relates <name>
......@@ -933,13 +961,23 @@ Structural indicators
\sa section \ref cmdhideinitializer "\\hideinitializer".
<hr>
\section cmdstatic \\static
\addindex \\static
Indicates that the member documented by the comment block is static,
i.e., it works on a class, instead of on an instance of the class.
This command is intended for use only when
the language does not support the concept of static methods natively (e.g. C).
<hr>
\section cmdstruct \\struct <name> [<header-file>] [<header-name>]
\addindex \\struct
Indicates that a comment block contains documentation for a
struct with name \<name\>. The arguments are equal to the arguments of the \\class
command.
struct with name \<name\>. The arguments are equal to the arguments of the
\ref cmdclass "\\class" command.
\sa section \ref cmdclass "\\class".
......@@ -949,7 +987,8 @@ Structural indicators
\addindex \\typedef
Indicates that a comment block contains documentation for a
typedef (either global or as a member of a class).
This command is equivalent to \\var, \\property, and \\fn.
This command is equivalent to \ref cmdfn "\\fn",
\ref cmdproperty "\\property", and \ref cmdvar "\\var".
\sa section \ref cmdfn "\\fn", \ref cmdproperty "\\property", and
\ref cmdvar "\\var".
......@@ -959,8 +998,8 @@ Structural indicators
\addindex \\union
Indicates that a comment block contains documentation for a
union with name \<name\>. The arguments are equal to the arguments of the \\class
command.
union with name \<name\>. The arguments are equal to the arguments of the
\ref cmdclass "\\class" command.
\sa section \ref cmdclass "\\class".
......@@ -970,7 +1009,8 @@ Structural indicators
\addindex \\var
Indicates that a comment block contains documentation for a variable or
enum value (either global or as a member of a class).
This command is equivalent to \\typedef, \\property, and \\fn.
This command is equivalent to \ref cmdfn "\\fn",
\ref cmdproperty "\\property", and \ref cmdtypedef "\\typedef".
\sa section \ref cmdfn "\\fn", \ref cmdproperty "\\property", and \ref cmdtypedef "\\typedef".
......@@ -1010,8 +1050,8 @@ Section indicators
The paragraph will be indented.
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
Multiple adjacent \\attention commands will be joined into a single paragraph.
The \\attention command ends when a blank line or some other
Multiple adjacent \c \\attention commands will be joined into a single paragraph.
The \c \\attention command ends when a blank line or some other
sectioning command is encountered.
<hr>
......@@ -1022,9 +1062,9 @@ Section indicators
The paragraph will be indented.
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
Multiple adjacent \\author commands will be joined into a single paragraph.
Each author description will start a new line. Alternatively, one \\author command
may mention several authors. The \\author command ends when a blank line or some other
Multiple adjacent \c \\author commands will be joined into a single paragraph.
Each author description will start a new line. Alternatively, one \c \\author command
may mention several authors. The \c \\author command ends when a blank line or some other
sectioning command is encountered.
\par Example:
......@@ -1051,10 +1091,10 @@ Section indicators
detailed description. A brief description may span several lines (although
it is advised to keep it brief!). A brief description ends when a
blank line or another sectioning command is encountered. If multiple
\\brief commands are present they will be joined. See section
\c \\brief commands are present they will be joined. See section
\ref cmdauthor "\\author" for an example.
Synonymous to \\short.
Synonymous to \ref cmdshort "\\short".
<hr>
\section cmdbug \\bug { bug description }
......@@ -1064,10 +1104,10 @@ Section indicators
The paragraph will be indented.
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
Multiple adjacent \\bug commands will be joined into a single paragraph.
Multiple adjacent \c \\bug commands will be joined into a single paragraph.
Each bug description will start on a new line.
Alternatively, one \\bug command may mention
several bugs. The \\bug command ends when a blank line or some other
Alternatively, one \c \\bug command may mention
several bugs. The \c \\bug command ends when a blank line or some other
sectioning command is encountered. See section \ref cmdauthor "\\author"
for an example.
......@@ -1081,11 +1121,11 @@ Section indicators
commands is to (conditionally) exclude part of a file from processing
(in older version of doxygen this could only be achieved using C preprocessor commands).
The section between \\cond and \\endcond commands can be included by
The section between \c \\cond and \ref cmdendcond "\\endcond" can be included by
adding its section label to the \ref cfg_enabled_sections "ENABLED_SECTIONS"
configuration option. If the section label is omitted, the section will
be excluded from processing unconditionally. The section label can be a
logical expression build of section lavels, round brackets, && (AND), || (OR) and ! (NOT).
logical expression build of section labels, round brackets, && (AND), || (OR) and ! (NOT).
If you use an expression you need to wrap it in round brackets, i.e
<tt>\\cond (!LABEL1 && LABEL2)</tt>.
......@@ -1137,10 +1177,10 @@ class Implementation : public Intf
/// @endcond
\endverbatim
The output will be different depending on whether or not \c ENABLED_SECTIONS
The output will be different depending on whether or not \ref cfg_enabled_sections "ENABLED_SECTIONS"
contains \c TEST, or \c DEV
\sa section \ref cmdendcond "\\endcond".
\sa sections \ref cmdendcond "\\endcond" and \ref cfg_enabled_sections "ENABLED_SECTIONS".
<hr>
\section cmdcopyright \\copyright { copyright description }
......@@ -1159,10 +1199,10 @@ contains \c TEST, or \c DEV
The paragraph will be indented.
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
Multiple adjacent \\date commands will be joined into a single paragraph.
Multiple adjacent \c \\date commands will be joined into a single paragraph.
Each date description will start on a new line.
Alternatively, one \\date command may mention
several dates. The \\date command ends when a blank line or some other
Alternatively, one \c \\date command may mention
several dates. The \c \\date command ends when a blank line or some other
sectioning command is encountered. See section \ref cmdauthor "\\author"
for an example.
......@@ -1178,9 +1218,9 @@ contains \c TEST, or \c DEV
\section cmddetails \\details { detailed description }
\addindex \\details
Just like \ref cmdbrief "\\brief" starts a brief description, \\details
Just like \ref cmdbrief "\\brief" starts a brief description, \c \\details
starts the detailed description. You can also start a new paragraph (blank line)
then the \\details command is not needed.
then the \c \\details command is not needed.
<hr>
\section cmdelse \\else
......@@ -1188,7 +1228,8 @@ contains \c TEST, or \c DEV
\addindex \\else
Starts a conditional section if the previous conditional section
was not enabled. The previous section should have been started with
a \c \\if, \c \\ifnot, or \c \\elseif command.
a \ref cmdif "\\if", \ref cmdifnot "\\ifnot", or \ref cmdelseif "\\elseif"
command.
\sa \ref cmdif "\\if", \ref cmdifnot "\\ifnot", \ref cmdelseif "\\elseif",
\ref cmdendif "\\endif."
......@@ -1221,8 +1262,9 @@ contains \c TEST, or \c DEV
\section cmdendif \\endif
\addindex \\endif
Ends a conditional section that was started by \c \\if or \c \\ifnot
For each \c \\if or \c \\ifnot one and only one matching \c \\endif must follow.
Ends a conditional section that was started by \ref cmdif "\\if" or \ref cmdifnot "\\ifnot"
For each \ref cmdif "\\if" or \ref cmdifnot "\\ifnot" one and only one matching
\ref cmdendif "\\endif" must follow.
\sa sections \ref cmdif "\\if" and \ref cmdifnot "\\ifnot".
......@@ -1235,9 +1277,9 @@ contains \c TEST, or \c DEV
The existence of the exception object is not checked.
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
Multiple adjacent \\exception commands will be joined into a single paragraph.
Multiple adjacent \c \\exception commands will be joined into a single paragraph.
Each exception description will start on a new line.
The \\exception description ends when a blank line or some other
The \c \\exception description ends when a blank line or some other
sectioning command is encountered. See section \ref cmdfn "\\fn" for an
example.
......@@ -1246,7 +1288,7 @@ contains \c TEST, or \c DEV
\addindex \\if
Starts a conditional documentation section. The section ends
with a matching \c \\endif command. A conditional section is
with a matching \ref cmdendif "\\endif" command. A conditional section is
disabled by default. To enable it you must put the
section-label after the \ref cfg_enabled_sections "ENABLED_SECTIONS"
tag in the configuration file.
......@@ -1302,24 +1344,26 @@ ALIASES = "english=\if english" \
"enddutch=\endif"
\endverbatim
and \c ENABLED_SECTIONS can be used to enable either \c english or \c dutch.
and \ref cfg_enabled_sections "ENABLED_SECTIONS" can be used to enable either \c english or \c dutch.
\sa sections \ref cmdendif "\\endif", \ref cmdifnot "\\ifnot",
\ref cmdelse "\\else", and \ref cmdelseif "\\elseif".
\ref cmdelse "\\else", \ref cmdelseif "\\elseif", and
\ref cfg_enabled_sections "ENABLED_SECTIONS".
<hr>
\section cmdifnot \\ifnot (section-label)
\addindex \\ifnot
Starts a conditional documentation section. The section ends
with a matching \c \\endif command. This conditional section is
with a matching \ref cmdendif "\\endif" command. This conditional section is
enabled by default. To disable it you must put the
section-label after the \ref cfg_enabled_sections "ENABLED_SECTIONS"
tag in the configuration file. The section label can be a logical expression
build of section names, round brackets, && (AND), || (OR) and ! (NOT).
\sa sections \ref cmdendif "\\endif", \ref cmdif "\\if",
\ref cmdelse "\\else", and \ref cmdelseif "\\elseif".
\ref cmdelse "\\else", and \ref cmdelseif "\\elseif", and
\ref cfg_enabled_sections "ENABLED_SECTIONS".
<hr>
\section cmdinvariant \\invariant { description of invariant }
......@@ -1329,10 +1373,10 @@ ALIASES = "english=\if english" \
The paragraph will be indented.
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
Multiple adjacent \\invariant commands will be joined into a single paragraph.
Multiple adjacent \c \\invariant commands will be joined into a single paragraph.
Each invariant description will start on a new line.
Alternatively, one \\invariant command may mention
several invariants. The \\invariant command ends when a blank line or some other
Alternatively, one \c \\invariant command may mention
several invariants. The \c \\invariant command ends when a blank line or some other
sectioning command is encountered.
<hr>
......@@ -1342,10 +1386,10 @@ ALIASES = "english=\if english" \
Starts a paragraph where a note can be entered. The paragraph will be
indented. The text of the paragraph has no special internal structure.
All visual enhancement commands may be used inside the paragraph.
Multiple adjacent \\note commands will be joined into a single paragraph.
Multiple adjacent \c \\note commands will be joined into a single paragraph.
Each note description will start on a new line.
Alternatively, one \\note command may mention
several notes. The \\note command ends when a blank line or some other
Alternatively, one \c \\note command may mention
several notes. The \c \\note command ends when a blank line or some other
sectioning command is encountered. See section \ref cmdpar "\\par"
for an example.
......@@ -1359,11 +1403,11 @@ ALIASES = "english=\if english" \
If no paragraph title is given this command will start a new paragraph.
This will also work inside other paragraph commands
(like \\param or \\warning) without ending that command.
(like \ref cmdparam "\\param" or \ref cmdwarning "\\warning") without ending that command.
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
The \\par command ends when a blank line or some other
The \c \\par command ends when a blank line or some other
sectioning command is encountered.
\par Example:
......@@ -1383,11 +1427,11 @@ ALIASES = "english=\if english" \
the documentation of this (or any other) parameter is missing or not
present in the function declaration or definition.
The \\param command has an optional attribute, (dir), specifying the direction
The \c \\param command has an optional attribute, (dir), specifying the direction
of the parameter. Possible values are "[in]", "[in,out]", and "[out]",
note the [square] brackets in this description.
When a parameter is both input and output, [in,out] is used as attribute.
Here is an example for the function memcpy:
Here is an example for the function \c memcpy:
\code
/*!
* Copies bytes from a source memory area to a destination memory area,
......@@ -1402,14 +1446,14 @@ void memcpy(void *dest, const void *src, size_t n);
The parameter description is a paragraph with no special internal structure.
All visual enhancement commands may be used inside the paragraph.
Multiple adjacent \\param commands will be joined into a single paragraph.
Multiple adjacent \c \\param commands will be joined into a single paragraph.
Each parameter description will start on a new line.
The \\param description ends when a blank line or some other
The \c \\param description ends when a blank line or some other
sectioning command is encountered. See section \ref cmdfn "\\fn" for an
example.
Note that you can also document multiple parameters with a single
\\param command using a comma separated list. Here is an example:
\c \\param command using a comma separated list. Here is an example:
\code
/** Sets the position.
......@@ -1446,10 +1490,10 @@ void setPosition(double x,double y,double z,double t)
The paragraph will be indented.
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
Multiple adjacent \\post commands will be joined into a single paragraph.
Multiple adjacent \c \\post commands will be joined into a single paragraph.
Each postcondition will start on a new line.
Alternatively, one \\post command may mention
several postconditions. The \\post command ends when a blank line or some other
Alternatively, one \c \\post command may mention
several postconditions. The \c \\post command ends when a blank line or some other
sectioning command is encountered.
<hr>
......@@ -1460,10 +1504,10 @@ void setPosition(double x,double y,double z,double t)
The paragraph will be indented.
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
Multiple adjacent \\pre commands will be joined into a single paragraph.
Multiple adjacent \c \\pre commands will be joined into a single paragraph.
Each precondition will start on a new line.
Alternatively, one \\pre command may mention
several preconditions. The \\pre command ends when a blank line or some other
Alternatively, one \c \\pre command may mention
several preconditions. The \c \\pre command ends when a blank line or some other
sectioning command is encountered.
<hr>
......@@ -1474,10 +1518,10 @@ void setPosition(double x,double y,double z,double t)
The paragraph will be indented.
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
Multiple adjacent \\remark commands will be joined into a single paragraph.
Multiple adjacent \c \\remark commands will be joined into a single paragraph.
Each remark will start on a new line.
Alternatively, one \\remark command may mention
several remarks. The \\remark command ends when a blank line or some other
Alternatively, one \c \\remark command may mention
several remarks. The \c \\remark command ends when a blank line or some other
sectioning command is encountered.
<hr>
......@@ -1499,8 +1543,8 @@ void setPosition(double x,double y,double z,double t)
Starts a return value description for a function.
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
Multiple adjacent \\return commands will be joined into a single paragraph.
The \\return description ends when a blank line or some other
Multiple adjacent \c \\return commands will be joined into a single paragraph.
The \c \\return description ends when a blank line or some other
sectioning command is encountered. See section \ref cmdfn "\\fn" for an
example.
......@@ -1519,9 +1563,9 @@ void setPosition(double x,double y,double z,double t)
The text of the paragraph that forms the description has no special
internal structure. All visual enhancement commands may be used inside the
paragraph.
Multiple adjacent \\retval commands will be joined into a single paragraph.
Multiple adjacent \c \\retval commands will be joined into a single paragraph.
Each return value description will start on a new line.
The \\retval description ends when a blank line or some other
The \c \\retval description ends when a blank line or some other
sectioning command is encountered.
<hr>
......@@ -1558,9 +1602,9 @@ void setPosition(double x,double y,double z,double t)
\addindex \\since
This tag can be used to specify since when (version or time) an
entity is available. The paragraph that follows \\since does not have any
entity is available. The paragraph that follows \c \\since does not have any
special internal structure. All visual enhancement commands may be
used inside the paragraph. The \\since description ends when a blank
used inside the paragraph. The \c \\since description ends when a blank
line or some other sectioning command is encountered.
<hr>
......@@ -1577,10 +1621,10 @@ void setPosition(double x,double y,double z,double t)
\section cmdthrow \\throw <exception-object> { exception description }
\addindex \\throw
Synonymous to \\exception (see section \ref cmdexception "\\exception").
Synonymous \ref cmdexception "\\exception".
\par Note:
the tag \\throws is a synonym for this tag.
the tag \c \\throws is a synonym for this tag.
\sa section \ref cmdexception "\\exception"
......@@ -1608,9 +1652,9 @@ void setPosition(double x,double y,double z,double t)
The paragraph will be indented.
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
Multiple adjacent \\version commands will be joined into a single paragraph.
Multiple adjacent \c \\version commands will be joined into a single paragraph.
Each version description will start on a new line.
Alternatively, one \\version command may mention
Alternatively, one \c \\version command may mention
several version strings.
The \\version command ends when a blank line or some other
sectioning command is encountered.
......@@ -1624,10 +1668,10 @@ void setPosition(double x,double y,double z,double t)
The paragraph will be indented.
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
Multiple adjacent \\warning commands will be joined into a single paragraph.
Multiple adjacent \c \\warning commands will be joined into a single paragraph.
Each warning description will start on a new line.
Alternatively, one \\warning command may mention
several warnings. The \\warning command ends when a blank line or some other
Alternatively, one \c \\warning command may mention
several warnings. The \c \\warning command ends when a blank line or some other
sectioning command is encountered. See section \ref cmdauthor "\\author"
for an example.
......@@ -1647,9 +1691,9 @@ void setPosition(double x,double y,double z,double t)
is a quoted string representing the heading of the section under which
text passed as the fourth argument is put. The third argument (list title)
is used as the title for the related page containing all items with the
same key. The keys "todo", "test", "bug" and "deprecated" are predefined.
same key. The keys \c "todo", \c "test", \c "bug" and \c "deprecated" are predefined.
To get an idea on how to use the \\xrefitem command and what its effect
To get an idea on how to use the \c \\xrefitem command and what its effect
is, consider the todo list, which (for English output) can be seen an
alias for the command
\verbatim \xrefitem todo "Todo" "Todo List" \endverbatim
......@@ -1658,11 +1702,11 @@ void setPosition(double x,double y,double z,double t)
parameters of the command for each section, the command is meant to
be used in combination with the \ref cfg_aliases "ALIASES" option in the
configuration file.
To define a new command \\reminder, for instance, one should add the following
To define a new command \c \\reminder, for instance, one should add the following
line to the configuration file:
\verbatim ALIASES += "reminder=\xrefitem reminders \"Reminder\" \"Reminders\"" \endverbatim
Note the use of escaped quotes for the second and third argument of the
\\xrefitem command.
\c \\xrefitem command.
<hr>
......@@ -1685,7 +1729,7 @@ Commands to create links
\addindex \\anchor
This command places an invisible, named anchor into the documentation
to which you can refer with the \\ref command.
to which you can refer with the \ref cmdref "\\ref" command.
\note Anchors can currently only be put into a comment block
that is marked as a page (using \ref cmdpage "\\page") or mainpage
......@@ -1709,7 +1753,7 @@ Commands to create links
\section cmdendlink \\endlink
\addindex \\endlink
This command ends a link that is started with the \\link command.
This command ends a link that is started with the \ref cmdlink "\\link" command.
\sa section \ref cmdlink "\\link".
......@@ -1720,13 +1764,13 @@ Commands to create links
The links that are automatically generated by doxygen always have the
name of the object they point to as link-text.
The \\link command can be used to create a link to an object (a file,
The \c \\link command can be used to create a link to an object (a file,
class, or member) with a user specified link-text.
The link command should end with an \\endlink command. All text between
the \\link and \\endlink commands serves as text for a link to
the \<link-object\> specified as the first argument of \\link.
The link command should end with an \ref cmdendlink "\\endlink" command. All text between
the \c \\link and \ref cmdendlink "\\endlink" commands serves as text for a link to
the \<link-object\> specified as the first argument of \c \\link.
See section \ref autolink "autolink" for more information on automatically
\sa Section \ref autolink "autolink" for more information on automatically
generated links and valid link-objects.
<hr>
......@@ -1743,7 +1787,28 @@ Commands to create links
page number if \<name\> refers to an anchor.
\sa
Section \ref cmdpage "\\page" for an example of the \\ref command.
Section \ref cmdpage "\\page" for an example of the \c \\ref command.
<hr>
\section cmdrefitem \\refitem <name>
\addindex \\refitem
Just like the \ref cmdref "\\ref" command, this command creates a reference
to a named section, but this reference appears in a list that is started by
\ref cmdsecreflist "\\secreflist"
and ends with \ref cmdendsecreflist "\\endsecreflist".
An example of such a list can be seen
\ref showsecreflist "at the top of the page".
<hr>
\section cmdsecreflist \\secreflist
\addindex \\secreflist
Starts an index list of item, created with \ref cmdrefitem "\\refitem"
that each link to a named section.
<hr>
\section cmdendsecreflist \\endsecreflist
\addindex \\endsecreflist
End an index list started with \ref cmdsecreflist "\\secreflist".
<hr>
\section cmdsubpage \\subpage <name> ["(text)"]
......@@ -1751,7 +1816,7 @@ Commands to create links
\addindex \\subpage
This command can be used to create a hierarchy of pages. The
same structure can be made using the \ref cmddefgroup "\\defgroup" and
\ref cmdingroup "\\ingroup" commands, but for pages the \\subpage command
\ref cmdingroup "\\ingroup" commands, but for pages the \c \\subpage command
is often more convenient. The main page (see \ref cmdmainpage "\\mainpage")
is typically the root of hierarchy.
......@@ -1759,7 +1824,7 @@ Commands to create links
it creates a reference to a page labeled \<name\> with the optional
link text as specified in the second argument.
It differs from the \\ref command in that it only works for pages,
It differs from the \ref cmdref "\\ref" command in that it only works for pages,
and creates a parent-child relation between pages, where the
child page (or sub page) is identified by label \<name\>.
......@@ -1813,7 +1878,7 @@ Make sure you have first read \ref intro "the introduction".
\addindex \\section
Creates a section with name \<section-name\>. The title of the
section should be specified as the second argument of the \\section
section should be specified as the second argument of the \c \\section
command.
\warning This command only works inside related page documentation and
......@@ -1821,14 +1886,14 @@ Make sure you have first read \ref intro "the introduction".
\sa
Section \ref cmdpage "\\page" for an example of the
\ref cmdsection "\\section" command.
\c \\section command.
<hr>
\section cmdsubsection \\subsection <subsection-name> (subsection title)
\addindex \\subsection
Creates a subsection with name \<subsection-name\>. The title of the
subsection should be specified as the second argument of the \\subsection
subsection should be specified as the second argument of the \c \\subsection
command.
\warning This command only works inside a section of a related page
......@@ -1837,7 +1902,7 @@ Make sure you have first read \ref intro "the introduction".
\sa
Section \ref cmdpage "\\page" for an example of the
\ref cmdsubsection "\\subsection" command.
\c \\subsection command.
<hr>
\section cmdsubsubsection \\subsubsection <subsubsection-name> (subsubsection title)
......@@ -1845,7 +1910,7 @@ Make sure you have first read \ref intro "the introduction".
\addindex \\subsubsection
Creates a subsubsection with name \<subsubsection-name\>. The title of the
subsubsection should be specified as the second argument of the
\\subsubsection command.
\c \\subsubsection command.
\warning This command only works inside a subsection of a
related page documentation block and
......@@ -1862,7 +1927,7 @@ Make sure you have first read \ref intro "the introduction".
\addindex \\paragraph
Creates a named paragraph with name \<paragraph-name\>. The title of the
paragraph should be specified as the second argument of the
\\paragraph command.
\c \\paragraph command.
\warning This command only works inside a subsubsection of a
related page documentation block and
......@@ -1883,7 +1948,7 @@ Commands for displaying examples
\addindex \\dontinclude
This command can be used to parse a source file without actually
verbatim including it in the documentation (as the \\include command does).
verbatim including it in the documentation (as the \ref cmdinclude "\\include" command does).
This is useful if you want to divide the source file into smaller pieces and
add documentation between the pieces.
Source files or directories can be specified using the
......@@ -1892,12 +1957,13 @@ Commands for displaying examples
The class and member declarations and definitions inside the code fragment
are 'remembered' during the parsing of the comment block that contained
the \\dontinclude command.
the \c \\dontinclude command.
For line by line descriptions of source files, one or more lines
of the example can be displayed using the \\line, \\skip, \\skipline, and
\\until commands. An internal pointer is used for these commands. The
\\dontinclude command sets the pointer to the first line of the example.
of the example can be displayed using the \ref cmdline "\\line",
\ref cmdskip "\\skip", \ref cmdskipline "\\skipline", and
\ref cmduntil "\\until" commands. An internal pointer is used for these commands. The
\c \\dontinclude command sets the pointer to the first line of the example.
\par Example:
\verbinclude include.cpp
......@@ -1930,11 +1996,11 @@ Commands for displaying examples
by the \ref cfg_example_path "EXAMPLE_PATH" tag, you can include part
of the absolute path to disambiguate it.
Using the \\include command is equivalent to inserting the file into
Using the \c \\include command is equivalent to inserting the file into
the documentation block and surrounding it
with \ref cmdcode "\\code" and \ref cmdendcode "\\endcode" commands.
The main purpose of the \\include command is to avoid code
The main purpose of the \c \\include command is to avoid code
duplication in case of example blocks that consist of multiple
source and header files.
......@@ -1958,7 +2024,7 @@ Commands for displaying examples
\section cmdincludelineno \\includelineno <file-name>
\addindex \\includelineno
This command works the same way as \\include, but will add line
This command works the same way as \ref cmdinclude "\\include", but will add line
numbers to the included file.
\sa section \ref cmdinclude "\\include".
......@@ -1968,7 +2034,8 @@ Commands for displaying examples
\addindex \\line
This command searches line by line through the example that was last
included using \\include or \\dontinclude until it finds a non-blank
included using \ref cmdinclude "\\include" or
\ref cmddontinclude "\\dontinclude" until it finds a non-blank
line. If that line contains the specified pattern, it is written
to the output.
......@@ -1984,7 +2051,8 @@ Commands for displaying examples
\addindex \\skip
This command searches line by line through the example that was last
included using \\include or \\dontinclude until it finds a line that contains
included using \ref cmdinclude "\\include" or
\ref cmddontinclude "\\dontinclude" until it finds a line that contains
the specified pattern.
The internal pointer that is used to keep track of the current line in
......@@ -1998,7 +2066,8 @@ Commands for displaying examples
\addindex \\skipline
This command searches line by line through the example that was last
included using \\include or \\dontinclude until it finds a line that contains
included using \ref cmdinclude "\\include" or
\ref cmddontinclude "\\dontinclude" until it finds a line that contains
the specified pattern. It then writes the line to the output.
The internal pointer that is used to keep track of the current line in
......@@ -2033,7 +2102,7 @@ Commands for displaying examples
The text following the file name is the unique identifier for the snippet.
This is used to delimit the quoted code in the relevant snippet file as
shown in the following example that corresponds to the above \\snippet
shown in the following example that corresponds to the above \c \\snippet
command:
\code
......@@ -2066,7 +2135,8 @@ Commands for displaying examples
\addindex \\until
This command writes all lines of the example that was last
included using \\include or \\dontinclude to the output, until it finds
included using \ref cmdinclude "\\include" or
\ref cmddontinclude "\\dontinclude" to the output, until it finds
a line containing the specified pattern. The line containing the pattern
will be written as well.
......@@ -2082,7 +2152,8 @@ Commands for displaying examples
\addindex \\verbinclude
This command includes the file \<file-name\> verbatim in the documentation.
The command is equivalent to pasting the file in the documentation and
placing \\verbatim and \\endverbatim commands around it.
placing \ref cmdverbatim "\\verbatim" and \ref cmdendverbatim "\\endverbatim"
commands around it.
Files or directories that doxygen should look for can be specified using the
\ref cfg_example_path "EXAMPLE_PATH" tag of doxygen's configuration file.
......@@ -2093,7 +2164,8 @@ Commands for displaying examples
\addindex \\htmlinclude
This command includes the file \<file-name\> as is in the HTML documentation.
The command is equivalent to pasting the file in the documentation and
placing \\htmlonly and \\endhtmlonly commands around it.
placing \ref cmdhtmlonly "\\htmlonly" and \ref cmdendhtmlonly "\\endhtmlonly"
commands around it.
Files or directories that doxygen should look for can be specified using the
\ref cfg_example_path "EXAMPLE_PATH" tag of doxygen's configuration file.
......@@ -2122,7 +2194,7 @@ Commands for visual enhancements
This will result in the following text:<br><br>
... the \a x and \a y coordinates are used to ...
Equivalent to \ref cmda "\\e" and \ref cmdem "\\em".
Equivalent to \ref cmde "\\e" and \ref cmdem "\\em".
To emphasize multiple words use \<em\>multiple words\</em\>.
<hr>
......@@ -2130,10 +2202,10 @@ Commands for visual enhancements
\addindex \\arg
This command has one argument that continues until the first
blank line or until another \\arg is encountered.
blank line or until another \c \\arg is encountered.
The command can be used to generate a simple, not nested list of
arguments.
Each argument should start with a \\arg command.
Each argument should start with a \c \\arg command.
\par Example:
Typing:
......@@ -2195,12 +2267,12 @@ Commands for visual enhancements
replaced by links to the documentation.
By default the language that is assumed for syntax highlighting is based
on the location where the \\code block was found. If this part of
on the location where the \c \\code block was found. If this part of
a Python file for instance, the syntax highlight will be done according
to the Python syntax.
If it unclear from the context which language is meant (for instance the
comment is in a .txt or .markdown file) then you can also explicitly
comment is in a <code>.txt</code> or <code>.markdown</code> file) then you can also explicitly
indicate the language, by putting the file extension typically
that doxygen associated with the language in curly brackets after the
code block. Here is an example:
......@@ -2253,7 +2325,7 @@ Commands for visual enhancements
Qualified names are only needed if the context in which the documentation
block is found requires them.
The \\copydoc command can be used recursively, but cycles in the \\copydoc
The \c \\copydoc command can be used recursively, but cycles in the \c \\copydoc
relation will be broken and flagged as an error.
Note that <code>\\copydoc foo()</code> is roughly equivalent to doing:
......@@ -2285,6 +2357,13 @@ only copy the detailed documentation, not the brief description.
generated docbook documentation only. The block ends with a
\ref cmdenddocbookonly "\\enddocbookonly" command.
\sa section \ref cmdmanonly "\\manonly",
\ref cmdxmlonly "\\xmlonly",
\ref cmdlatexonly "\\latexonly",
\ref cmdrtfonly "\\rtfonly",
\ref cmdxmlonly "\\xmlonly", and
\ref cmdhtmlonly "\\htmlonly".
<hr>
\section cmddot \\dot
......@@ -2332,7 +2411,7 @@ class C {};
\note You need to install the <code>mscgen</code> tool, if you want to use this
command.
Here is an example of the use of the \\msc command.
Here is an example of the use of the \c \\msc command.
\code
/** Sender class. Can be used to send a command to the server.
* The receiver will acknowledge the command by calling Ack().
......@@ -2454,7 +2533,7 @@ class Receiver
\section cmdenddocbookonly \\enddocbookonly
\addindex \\enddocbookonly
Ends a block of text that was started with a \\docbookonly command.
Ends a block of text that was started with a \ref cmddocbookonly "\\docbookonly" command.
\sa section \ref cmddocbookonly "\\docbookonly".
......@@ -2462,19 +2541,19 @@ class Receiver
\section cmdenddot \\enddot
\addindex \\enddot
Ends a blocks that was started with \ref cmddot "\\dot".
Ends a block that was started with \ref cmddot "\\dot".
<hr>
\section cmdendmsc \\endmsc
\addindex \\endmsc
Ends a blocks that was started with \ref cmdmsc "\\msc".
Ends a block that was started with \ref cmdmsc "\\msc".
<hr>
\section cmdendhtmlonly \\endhtmlonly
\addindex \\endhtmlonly
Ends a block of text that was started with a \\htmlonly command.
Ends a block of text that was started with a \ref cmdhtmlonly "\\htmlonly" command.
\sa section \ref cmdhtmlonly "\\htmlonly".
......@@ -2482,7 +2561,7 @@ class Receiver
\section cmdendlatexonly \\endlatexonly
\addindex \\endlatexonly
Ends a block of text that was started with a \\latexonly command.
Ends a block of text that was started with a \ref cmdlatexonly "\\latexonly" command.
\sa section \ref cmdlatexonly "\\latexonly".
......@@ -2490,7 +2569,7 @@ class Receiver
\section cmdendmanonly \\endmanonly
\addindex \\endmanonly
Ends a block of text that was started with a \\manonly command.
Ends a block of text that was started with a \ref cmdmanonly "\\manonly" command.
\sa section \ref cmdmanonly "\\manonly".
......@@ -2498,7 +2577,7 @@ class Receiver
\section cmdendrtfonly \\endrtfonly
\addindex \\endrtfonly
Ends a block of text that was started with a \\rtfonly command.
Ends a block of text that was started with a \ref cmdrtfonly "\\rtfonly" command.
\sa section \ref cmdrtfonly "\\rtfonly".
......@@ -2507,7 +2586,7 @@ class Receiver
\section cmdendverbatim \\endverbatim
\addindex \\endverbatim
Ends a block of text that was started with a \\verbatim command.
Ends a block of text that was started with a \ref cmdverbatim "\\verbatim" command.
\sa section \ref cmdverbatim "\\verbatim".
......@@ -2515,7 +2594,7 @@ class Receiver
\section cmdendxmlonly \\endxmlonly
\addindex \\endxmlonly
Ends a block of text that was started with a \\xmlonly command.
Ends a block of text that was started with a \ref cmdxmlonly "\\xmlonly" command.
\sa section \ref cmdxmlonly "\\xmlonly".
......@@ -2549,7 +2628,7 @@ class Receiver
\section cmdfcurlyopen \\f{environment}{
Marks the start of a formula that is in a specific environment.
\note The second { is optional and is only to help editors (such as Vim) to
\note The second \c { is optional and is only to help editors (such as \c Vim) to
do proper syntax highlighting by making the number of opening and closing braces
the same.
\sa section \ref cmdfcurlyclose "\\f}" and section \ref formulas "formulas".
......@@ -2566,20 +2645,22 @@ class Receiver
\addindex \\htmlonly
Starts a block of text that will be verbatim included in the
generated HTML documentation only. The block ends with a
\ref cmdhtmlonly "\\endhtmlonly" command.
\ref cmdendhtmlonly "\\endhtmlonly" command.
This command can be used to include HTML code that is too complex
for doxygen (i.e. applets, java-scripts, and HTML tags that
require attributes). You can use the \\latexonly and \\endlatexonly
require attributes). You can use the \ref cmdlatexonly "\\latexonly" and
\ref cmdendlatexonly "\\endlatexonly"
pair to provide a proper \f$\mbox{\LaTeX}\f$ alternative.
\note environment variables (like \$(HOME) ) are resolved inside a
HTML-only block.
\sa section \ref cmdmanonly "\\manonly", section
\ref cmdlatexonly "\\latexonly", section
\ref cmdrtfonly "\\rtfonly", section
\ref cmdxmlonly "\\xmlonly", and
\sa section \ref cmdmanonly "\\manonly",
\ref cmdxmlonly "\\xmlonly",
\ref cmdlatexonly "\\latexonly",
\ref cmdrtfonly "\\rtfonly",
\ref cmdxmlonly "\\xmlonly", and
\ref cmddocbookonly "\\docbookonly".
<hr>
......@@ -2647,17 +2728,18 @@ class Receiver
This command can be used to include \f$\mbox{\LaTeX}\f$ code that is too
complex for doxygen (i.e. images, formulas, special characters). You can
use the \\htmlonly and \\endhtmlonly pair to provide a proper HTML
alternative.
use the \ref cmdhtmlonly "\\htmlonly" and \ref cmdendhtmlonly "\\endhtmlonly"
pair to provide a proper HTML alternative.
\b Note:
environment variables (like \$(HOME) ) are resolved inside a
\f$\mbox{\LaTeX}\f$-only block.
\sa section \ref cmdrtfonly "\\rtfonly",
section \ref cmdxmlonly "\\xmlonly",
section \ref cmdmanonly "\\manonly", and
section \ref cmdhtmlonly "\\htmlonly".
\sa sections \ref cmdrtfonly "\\rtfonly",
\ref cmdxmlonly "\\xmlonly",
\ref cmdmanonly "\\manonly",
\ref cmdhtmlonly "\\htmlonly", and
\ref cmdhtmlonly "\\docbookonly".
<hr>
\section cmdmanonly \\manonly
......@@ -2668,24 +2750,27 @@ class Receiver
\ref cmdendmanonly "\\endmanonly" command.
This command can be used to include groff code directly into
MAN pages. You can use the \\htmlonly and \\latexonly and
\\endhtmlonly and \\endlatexonly pairs to provide proper
MAN pages. You can use the \ref cmdhtmlonly "\\htmlonly" and
\ref cmdendhtmlonly "\\endhtmlonly" and
\ref cmdlatexonly "\\latexonly" and
\ref cmdendlatexonly "\\endlatexonly" pairs to provide proper
HTML and \f$\mbox{\LaTeX}\f$ alternatives.
\sa section \ref cmdhtmlonly "\\htmlonly",
section \ref cmdxmlonly "\\xmlonly",
section \ref cmdrtfonly "\\rtfonly", and
section \ref cmdlatexonly "\\latexonly".
\sa sections \ref cmdhtmlonly "\\htmlonly",
\ref cmdxmlonly "\\xmlonly",
\ref cmdrtfonly "\\rtfonly",
\ref cmdlatexonly "\\latexonly", and
\ref cmddocbookonly "\\docbookonly".
<hr>
\section cmdli \\li { item-description }
\addindex \\li
This command has one argument that continues until the first
blank line or until another \\li is encountered.
blank line or until another \c \\li is encountered.
The command can be used to generate a simple, not nested list of
arguments.
Each argument should start with a \\li command.
Each argument should start with a \c \\li command.
\par Example:
Typing:
......@@ -2714,7 +2799,7 @@ class Receiver
\addindex \\n
Forces a new line. Equivalent to \<br\> and inspired by
the printf function.
the \c printf function.
<hr>
\section cmdp \\p <word>
......@@ -2749,10 +2834,11 @@ class Receiver
environment variables (like \$(HOME) ) are resolved inside a
RTF-only block.
\sa section \ref cmdmanonly "\\manonly", section
\ref cmdxmlonly "\\xmlonly", section
\ref cmdlatexonly "\\latexonly", and section
\ref cmdhtmlonly "\\htmlonly".
\sa sections \ref cmdmanonly "\\manonly",
\ref cmdxmlonly "\\xmlonly",
\ref cmdlatexonly "\\latexonly",
\ref cmdhtmlonly "\\htmlonly", and
\ref cmddocbookonly "\\docbookonly".
<hr>
\section cmdverbatim \\verbatim
......@@ -2760,14 +2846,15 @@ class Receiver
\addindex \\verbatim
Starts a block of text that will be verbatim included in
the documentation. The block should end with a
\ref cmdendverbatim "\\endverbatim" block.
\ref cmdendverbatim "\\endverbatim" command.
All commands are disabled in a verbatim block.
\warning Make sure you include a \\endverbatim command for each
\\verbatim command or the parser will get confused!
\warning Make sure you include a \ref cmdendverbatim "\\endverbatim" command for each
\c \\verbatim command or the parser will get confused!
\sa section \ref cmdcode "\\code", and
section \ref cmdverbinclude "\\verbinclude".
\sa sections \ref cmdcode "\\code",
\ref cmdendverbatim "\\endverbatim", and
\ref cmdverbinclude "\\verbinclude".
<hr>
\section cmdxmlonly \\xmlonly
......@@ -2775,20 +2862,21 @@ class Receiver
\addindex \\xmlonly
Starts a block of text that will be verbatim included in the
generated XML output only. The block ends with a
endxmlonly command.
\ref cmdendxmlonly "\\endxmlonly" command.
This command can be used to include custom XML tags.
\sa section \ref cmdmanonly "\\manonly", section
\ref cmdrtfonly "\\rtfonly", section
\ref cmdlatexonly "\\latexonly", and section
\ref cmdhtmlonly "\\htmlonly".
\sa sections \ref cmdmanonly "\\manonly",
\ref cmdrtfonly "\\rtfonly",
\ref cmdlatexonly "\\latexonly",
\ref cmdhtmlonly "\\htmlonly", and
\ref cmddocbookonly "\\docbookonly".
<hr>
\section cmdbackslash \\\\
\addindex \\\\
This command writes a backslash character (\\) to the
This command writes a backslash character (\c \\) to the
output. The backslash has to be escaped in some
cases because doxygen uses it to detect commands.
......@@ -2796,7 +2884,7 @@ class Receiver
\section cmdat \\\@
\addindex \\\@
This command writes an at-sign (\@) to the output.
This command writes an at-sign (\c \@) to the output.
The at-sign has to be escaped in some cases
because doxygen uses it to detect JavaDoc commands.
......@@ -2805,14 +2893,14 @@ class Receiver
\addindex \\~
This command enables/disables a language specific filter. This can be
used to put documentation for different language into one comment block
and use the \c OUTPUT_LANGUAGE tag to filter out only a specific language.
Use \\~language_id to enable output for a specific language only and
\\~ to enable output for all languages (this is also the default mode).
and use the \ref cfg_output_language "OUTPUT_LANGUAGE" tag to filter out only a specific language.
Use \c \\~language_id to enable output for a specific language only and
\c \\~ to enable output for all languages (this is also the default mode).
Example:
\verbatim
/*! \~english This is english \~dutch Dit is Nederlands \~german Dieses ist
deutsch. \~ output for all languages.
/*! \~english This is English \~dutch Dit is Nederlands \~german Dies ist
Deutsch. \~ output for all languages.
*/
\endverbatim
......@@ -2821,14 +2909,14 @@ class Receiver
\section cmdamp \\\&
\addindex \\\&
This command writes the \& character to output.
This command writes the \c \& character to output.
This character has to be escaped because it has a special meaning in HTML.
<hr>
\section cmddollar \\\$
\addindex \\\$
This command writes the \$ character to the output.
This command writes the \c \$ character to the output.
This character has to be escaped in some cases, because it is used to expand
environment variables.
......@@ -2836,7 +2924,7 @@ class Receiver
\section cmdhash \\\#
\addindex \\\#
This command writes the \# character to the output. This
This command writes the \c \# character to the output. This
character has to be escaped in some cases, because it is used to refer
to documented entities.
......@@ -2844,21 +2932,21 @@ class Receiver
\section cmdlt \\\<
\addindex \\\<
This command writes the \< character to the output.
This command writes the \c \< character to the output.
This character has to be escaped because it has a special meaning in HTML.
<hr>
\section cmdgt \\\>
\addindex \\\>
This command writes the \> character to the output. This
This command writes the \c \> character to the output. This
character has to be escaped because it has a special meaning in HTML.
<hr>
\section cmdperc \\\%
\addindex \\\%
This command writes the \% character to the output. This
This command writes the \c \% character to the output. This
character has to be escaped in some cases, because it is used to
prevent auto-linking to word that is also a documented class or struct.
......@@ -2866,7 +2954,7 @@ class Receiver
\section cmdquot \\"
\addindex \\\"
This command writes the \" character to the output. This
This command writes the \c \" character to the output. This
character has to be escaped in some cases, because it is used in pairs
to indicate an unformatted text fragment.
......@@ -2874,7 +2962,7 @@ class Receiver
\section cmdchardot \\.
\addindex \\\.
This command writes a dot to the output. This can be useful to
This command writes a dot (\c .) to the output. This can be useful to
prevent ending a brief description when JAVADOC_AUTOBRIEF is enabled
or to prevent starting a numbered list when the dot follows a number at
the start of a line.
......@@ -2883,9 +2971,17 @@ class Receiver
\section cmddcolon \\::
\addindex \\\::
This command write a double colon (\::) to the output. This
This command write a double colon (\c \::) to the output. This
character sequence has to be escaped in some cases, because it is used
to ref to documented entities.
to reference to documented entities.
<hr>
\section cmdpipe \\|
\addindex \\|
This command write a pip symbol (\|) to the output. This
character has to be escaped in some cases, because it is used
for Markdown tables.
<hr>
\htmlonly <center> \endhtmlonly
......
......@@ -20,25 +20,25 @@ e******************************************************************************
\section config_format Format
A configuration file is a free-form ASCII text file with a structure
that is similar to that of a Makefile, with the default name \c Doxyfile. It is
parsed by \c doxygen. The file may contain tabs and newlines for
formatting purposes. The statements in the file are case-sensitive.
that is similar to that of a \c Makefile, with the default name \c Doxyfile. It is
parsed by \c doxygen. The file may contain tabs and newlines for
formatting purposes. The statements in the file are case-sensitive.
Comments may be placed anywhere within the file (except within quotes).
Comments beginning with two hash characters (\#\#) are kept when updating
Comments beginning with two hash characters (\c \#\#) are kept when updating
the configuration file and are placed in front of the TAG are in front of.
Comments beginning with two hash characters (\#\#) at the end of the
Comments beginning with two hash characters (\c \#\#) at the end of the
configuration file are also kept and placed at the end of the file.
Comments begin with the \# character and end at the end of the line.
Comments begin with the hash character (\c \#) and ends at the end of the line.
The file essentially consists of a list of assignment statements.
Each statement consists of a \c TAG_NAME written in capitals,
followed by the <code>=</code> character and one or more values. If the same tag
followed by the equal sign (<code>=</code>) and one or more values. If the same tag
is assigned more than once, the last assignment overwrites any earlier
assignment. For options that take a list as their argument,
assignment. For tags that take a list as their argument,
the <code>+=</code> operator can be used instead of <code>=</code> to append
new values to the list. Values are sequences of non-blanks. If the value should
contain one or more blanks it must be surrounded by quotes (&quot;...&quot;).
Multiple lines can be concatenated by inserting a backslash (\\)
contain one or more blanks it must be surrounded by quotes (<code>&quot;...&quot;</code>).
Multiple lines can be concatenated by inserting a backslash (\c \\)
as the last character of a line. Environment variables can be expanded
using the pattern <code>\$(ENV_VARIABLE_NAME)</code>.
......@@ -75,6 +75,8 @@ followed by the descriptions of the tags grouped by category.
\refitem cfg_chm_file CHM_FILE
\refitem cfg_chm_index_encoding CHM_INDEX_ENCODING
\refitem cfg_cite_bib_files CITE_BIB_FILES
\refitem cfg_clang_assisted_parsig CLANG_ASSISTED_PARSING
\refitem cfg_clang_options CLANG_OPTIONS
\refitem cfg_class_diagrams CLASS_DIAGRAMS
\refitem cfg_class_graph CLASS_GRAPH
\refitem cfg_collaboration_graph COLLABORATION_GRAPH
......@@ -322,8 +324,8 @@ followed by the descriptions of the tags grouped by category.
\addindex DOXYFILE_ENCODING
This tag specifies the encoding used for all characters in the config file that
follow. The default is UTF-8 which is also the encoding used for all text before
the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into
libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of
the first occurrence of this tag. Doxygen uses \c libiconv (or the iconv built into
\c libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of
possible encodings.
\anchor cfg_project_name
......@@ -389,7 +391,7 @@ followed by the descriptions of the tags grouped by category.
\addindex BRIEF_MEMBER_DESC
If the \c BRIEF_MEMBER_DESC tag is set to \c YES (the default) doxygen will
include brief member descriptions after the members that are listed in
the file and class documentation (similar to JavaDoc).
the file and class documentation (similar to \c Javadoc).
Set to \c NO to disable this.
\anchor cfg_repeat_brief
......@@ -400,7 +402,8 @@ followed by the descriptions of the tags grouped by category.
description
\par Note:
If both \c HIDE_UNDOC_MEMBERS and \c BRIEF_MEMBER_DESC are set to \c NO, the
If both \ref cfg_hide_undoc_members "HIDE_UNDOC_MEMBERS" and
\ref cfg_brief_member_desc "BRIEF_MEMBER_DESC" are set to \c NO, the
brief descriptions will be completely suppressed.
\anchor cfg_abbreviate_brief
......@@ -409,9 +412,9 @@ followed by the descriptions of the tags grouped by category.
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
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
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".
......@@ -441,7 +444,7 @@ followed by the descriptions of the tags grouped by category.
\anchor cfg_strip_from_path
<dt>\c STRIP_FROM_PATH <dd>
\addindex STRIP_FROM_PATH
If the \c FULL_PATH_NAMES tag is set to \c YES then the \c STRIP_FROM_PATH tag
If the \ref cfg_full_path_names "FULL_PATH_NAMES" tag is set to \c YES then the \c 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.
......@@ -469,7 +472,7 @@ followed by the descriptions of the tags grouped by category.
<dt>\c JAVADOC_AUTOBRIEF <dd>
\addindex JAVADOC_AUTOBRIEF
If the \c JAVADOC_AUTOBRIEF is set to \c YES then doxygen
will interpret the first line (until the first dot) of a JavaDoc-style
will interpret the first line (until the first dot) of a Javadoc-style
comment as the brief description. If set to \c NO (the default), the
Javadoc-style will behave just like regular Qt-style comments
(thus requiring an explicit \ref cmdbrief "\@brief" command for a brief description.)
......@@ -481,7 +484,7 @@ followed by the descriptions of the tags grouped by category.
will interpret the first line (until the first dot) of a Qt-style
comment as the brief description. If set to \c NO (the default), the
Qt-style will behave just like regular Qt-style comments (thus
requiring an explicit \\brief command for a brief description.)
requiring an explicit \ref cmdbrief "\\brief" command for a brief description.)
\anchor cfg_markdown_support
<dt>\c MARKDOWN_SUPPORT <dd>
......@@ -498,7 +501,7 @@ followed by the descriptions of the tags grouped by category.
\addindex AUTOLINK_SUPPORT
When enabled doxygen tries to link words that correspond to documented classes,
or namespaces to their corresponding documentation. Such a link can be
prevented in individual cases by by putting a % sign in front of the word or
prevented in individual cases by by putting a \c % sign in front of the word or
globally by setting \c AUTOLINK_SUPPORT to \c NO.
\anchor cfg_builtin_stl_support
......@@ -528,7 +531,7 @@ followed by the descriptions of the tags grouped by category.
\anchor cfg_idl_property_support
<dt>\c IDL_PROPERTY_SUPPORT <dd>
\addindex IDL_PROPERTY_SUPPORT
For Microsoft's IDL there are propget and propput attributes to indicate getter
For Microsoft's IDL there are \c propget and \c propput attributes to indicate getter
and setter methods for a property. Setting this option to \c YES (the default)
will make doxygen to replace the get and set methods by a property in the
documentation. This will only work if the methods are indeed getting or
......@@ -546,8 +549,8 @@ followed by the descriptions of the tags grouped by category.
\anchor cfg_multiline_cpp_is_brief
<dt>\c MULTILINE_CPP_IS_BRIEF <dd>
\addindex MULTILINE_CPP_IS_BRIEF
The \c MULTILINE_CPP_IS_BRIEF tag can be set to \c YES to make Doxygen
treat a multi-line C++ special comment block (i.e. a block of //! or ///
The \c MULTILINE_CPP_IS_BRIEF tag can be set to \c YES to make doxygen
treat a multi-line C++ special comment block (i.e. a block of \c //! or \c ///
comments) as a brief description. This used to be the default behavior.
The new default is to treat a multi-line C++ comment block as a detailed
description. Set this tag to \c YES if you prefer the old behavior instead.
......@@ -558,8 +561,8 @@ followed by the descriptions of the tags grouped by category.
\anchor cfg_details_at_top
<dt>\c DETAILS_AT_TOP <dd>
\addindex DETAILS_AT_TOP
If the \c DETAILS_AT_TOP tag is set to \c YES then Doxygen
will output the detailed description near the top, like JavaDoc.
If the \c DETAILS_AT_TOP tag is set to \c YES then doxygen
will output the detailed description near the top, like \c Javadoc.
If set to \c NO, the detailed description appears after the member
documentation.
-->
......@@ -599,7 +602,7 @@ followed by the descriptions of the tags grouped by category.
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.
You can put \ref cmdn "\\n"'s in the value part of an alias to insert newlines.
\anchor cfg_tcl_subst
<dt>\c TCL_SUBST <dd>
......@@ -667,8 +670,8 @@ followed by the descriptions of the tags grouped by category.
\addindex INLINE_GROUPED_CLASSES
When the \c INLINE_GROUPED_CLASSES tag is set to \c YES, classes, structs and
unions are shown inside the group in which they are included
(e.g. using @@ingroup) instead of on a separate page (for HTML and Man pages)
or section (for LaTeX and RTF). Note that this feature does not work in
(e.g. using \ref cmdingroup "\\ingroup") instead of on a separate page (for HTML and Man pages)
or section (for \f$\mbox{\LaTeX}\f$ and RTF). Note that this feature does not work in
combination with \ref cfg_separate_member_pages "SEPARATE_MEMBER_PAGES".
\anchor cfg_inline_simple_structs
......@@ -679,7 +682,7 @@ unions with only public data fields or simple typedef fields will be shown
inline in the documentation of the scope in which they are defined (i.e. file,
namespace, or group documentation), provided this scope is documented. If set
to \c NO (the default), structs, classes, and unions are shown on a separate
page (for HTML and Man pages) or section (for LaTeX and RTF).
page (for HTML and Man pages) or section (for \f$\mbox{\LaTeX}\f$ and RTF).
\anchor cfg_typedef_hides_struct
<dt>\c TYPEDEF_HIDES_STRUCT <dd>
......@@ -717,11 +720,12 @@ page (for HTML and Man pages) or section (for LaTeX and RTF).
If the \c EXTRACT_ALL tag is set to \c 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 \c EXTRACT_PRIVATE and \c EXTRACT_STATIC tags are set to \c YES
unless the \ref cfg_extract_private "EXTRACT_PRIVATE" respectively
\ref cfg_extract_static "EXTRACT_STATIC" tags are set to \c YES
\par Note:
This will also disable the warnings about undocumented members
that are normally produced when \c WARNINGS is set to \c YES
\note This will also disable the warnings about undocumented members
that are normally produced when \ref cfg_warnings "WARNINGS" is
set to \c YES
\anchor cfg_extract_private
<dt>\c EXTRACT_PRIVATE <dd>
......@@ -772,7 +776,7 @@ page (for HTML and Man pages) or section (for LaTeX and RTF).
undocumented members inside documented classes or files.
If set to \c NO (the default) these members will be included in the
various overviews, but no documentation section is generated.
This option has no effect if \c EXTRACT_ALL is enabled.
This option has no effect if \ref cfg_extract_all "EXTRACT_ALL" is enabled.
\anchor cfg_hide_undoc_classes
<dt>\c HIDE_UNDOC_CLASSES <dd>
......@@ -781,12 +785,12 @@ page (for HTML and Man pages) or section (for LaTeX and RTF).
undocumented classes.
If set to \c NO (the default) these classes will be included in the
various overviews.
This option has no effect if \c EXTRACT_ALL is enabled.
This option has no effect if \ref cfg_extract_all "EXTRACT_ALL" is enabled.
\anchor cfg_hide_friend_compounds
<dt>\c HIDE_FRIEND_COMPOUNDS <dd>
\addindex HIDE_FRIEND_COMPOUNDS
If the \c HIDE_FRIEND_COMPOUNDS tag is set to \c YES, Doxygen will hide all
If the \c HIDE_FRIEND_COMPOUNDS tag is set to \c YES, doxygen will hide all
friend (class|struct|union) declarations.
If set to \c NO (the default) these declarations will be included in the
documentation.
......@@ -794,7 +798,7 @@ page (for HTML and Man pages) or section (for LaTeX and RTF).
\anchor cfg_hide_in_body_docs
<dt>\c HIDE_IN_BODY_DOCS <dd>
\addindex HIDE_IN_BODY_DOCS
If the \c HIDE_IN_BODY_DOCS tag is set to \c YES, Doxygen will hide any
If the \c HIDE_IN_BODY_DOCS tag is set to \c YES, doxygen will hide any
documentation blocks found inside the body of a function.
If set to \c NO (the default) these blocks will be appended to the
function's detailed documentation block.
......@@ -834,7 +838,7 @@ function's detailed documentation block.
\anchor cfg_force_local_includes
<dt>\c FORCE_LOCAL_INCLUDES <dd>
\addindex FORCE_LOCAL_INCLUDES
If the \c FORCE_LOCAL_INCLUDES tag is set to \c YES then Doxygen
If the \c FORCE_LOCAL_INCLUDES tag is set to \c YES then doxygen
will list include files with double quotes in the documentation
rather than with sharp brackets.
......@@ -873,22 +877,12 @@ function's detailed documentation block.
\addindex SORT_BY_SCOPE_NAME
If the \c SORT_BY_SCOPE_NAME tag is set to \c 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,
\c 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 \c HIDE_SCOPE_NAMES is set to \c YES.
@note This option is not very useful if \ref cfg_hide_scope_names "HIDE_SCOPE_NAMES" is set to \c YES.
@note This option applies only to the class list, not to the
alphabetical list.
\anchor cfg_strict_proto_matching
<dt>\c STRICT_PROTO_MATCHING <dd>
\addindex STRICT_PROTO_MATCHING
If the \c STRICT_PROTO_MATCHING option is enabled and doxygen fails to
do proper type resolution of all parameters of a function it will reject a
match between the prototype and the implementation of a member function even
if there is only one candidate or it is obvious which candidate to choose
by doing a simple string match. By disabling \c STRICT_PROTO_MATCHING doxygen
will still accept a match between prototype and implementation in such cases.
\anchor cfg_sort_members_constructors_first
<dt>\c SORT_MEMBERS_CTORS_1ST <dd>
\addindex SORT_MEMBERS_CTORS_1ST
......@@ -897,16 +891,16 @@ function's detailed documentation block.
constructors and destructors are listed first. If set to \c NO (the default)
the constructors will appear in the respective orders defined by
\c SORT_MEMBER_DOCS and \c SORT_BRIEF_DOCS.
@note If \c SORT_BRIEF_DOCS is set to \c NO this option is ignored for
@note If \ref cfg_sort_brief_docs "SORT_BRIEF_DOCS" is set to \c NO this option is ignored for
sorting brief member documentation.
@note If \c SORT_MEMBER_DOCS is set to \c NO this option is ignored for
@note If \ref cfg_sort_member_docs "SORT_MEMBER_DOCS" is set to \c NO this option is ignored for
sorting detailed member documentation.
\anchor cfg_generate_deprecatedlist
<dt>\c GENERATE_DEPRECATEDLIST <dd>
\addindex GENERATE_DEPRECATEDLIST
The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
disable (NO) the deprecated list. This list is created by
The GENERATE_DEPRECATEDLIST tag can be used to enable (\c YES) or
disable (\c NO) the deprecated list. This list is created by
putting \ref cmddeprecated "\\deprecated"
commands in the documentation.
......@@ -924,7 +918,7 @@ function's detailed documentation block.
<dt>\c GENERATE_TODOLIST <dd>
\addindex GENERATE_TODOLIST
The GENERATE_TODOLIST tag can be used to enable (YES) or
disable (NO) the todo list. This list is created by
disable (\c NO) the todo list. This list is created by
putting \ref cmdtodo "\\todo"
commands in the documentation.
......@@ -932,14 +926,14 @@ function's detailed documentation block.
<dt>\c GENERATE_TESTLIST <dd>
\addindex GENERATE_TESTLIST
The GENERATE_TESTLIST tag can be used to enable (YES) or
disable (NO) the test list. This list is created by
disable (\c NO) the test list. This list is created by
putting \ref cmdtest "\\test" commands in the documentation.
\anchor cfg_generate_buglist
<dt>\c GENERATE_BUGLIST <dd>
\addindex GENERATE_BUGLIST
The GENERATE_BUGLIST tag can be used to enable (YES) or
disable (NO) the bug list. This list is created by
disable (\c NO) the bug list. This list is created by
putting \ref cmdbug "\\bug" commands in the documentation.
\anchor cfg_enabled_sections
......@@ -987,7 +981,7 @@ function's detailed documentation block.
The \c 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 <code>command input-file</code>, where \c command is
<code>popen()</code>) the command <code>command input-file</code>, where \c command is
the value of the \c FILE_VERSION_FILTER tag, and \c 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.
......@@ -1020,19 +1014,19 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
doxygen. The layout file controls the global structure of the generated output files
in an output format independent way. To create the layout file that represents
doxygen's defaults, run doxygen with the -l option. You can optionally specify a
file name after the option, if omitted DoxygenLayout.xml will be used as the name
file name after the option, if omitted \c DoxygenLayout.xml will be used as the name
of the layout file. Note that if you run doxygen from a directory containing
a file called `DoxygenLayout.xml`, doxygen will parse it automatically even if
a file called \c DoxygenLayout.xml, doxygen will parse it automatically even if
the \c LAYOUT_FILE tag is left empty.
\anchor cfg_cite_bib_files
<dt>\c CITE_BIB_FILES <dd>
\addindex CITE_BIB_FILES
The \c CITE_BIB_FILES tag can be used to specify one or more bib files
containing the reference definitions. This must be a list of .bib files. The
.bib extension is automatically appended if omitted. This requires the
bibtex tool to be installed. See also http://en.wikipedia.org/wiki/BibTeX
for more info. For LaTeX the style of the bibliography can be controlled
containing the reference definitions. This must be a list of <code>.bib</code> files. The
<code>.bib</code> extension is automatically appended if omitted. This requires the
\c bibtex tool to be installed. See also http://en.wikipedia.org/wiki/BibTeX
for more info. For \f$\mbox{\LaTeX}\f$ the style of the bibliography can be controlled
using \ref cfg_latex_bib_style "LATEX_BIB_STYLE". See
also \ref cmdcite "\\cite" for info how to create references.
......@@ -1062,7 +1056,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
<dt>\c WARN_IF_UNDOCUMENTED <dd>
\addindex WARN_IF_UNDOCUMENTED
If \c WARN_IF_UNDOCUMENTED is set to \c YES, then doxygen will generate warnings
for undocumented members. If \c EXTRACT_ALL is set to \c YES then this flag will
for undocumented members. If \ref cfg_extract_all "EXTRACT_ALL" is set to \c YES then this flag will
automatically be disabled.
\anchor cfg_warn_if_doc_error
......@@ -1096,7 +1090,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
\addindex WARN_LOGFILE
The \c 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.
to \c stderr.
</dl>
......@@ -1111,7 +1105,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
\c myfile.cpp or directories like \c /usr/src/myproject.
Separate the files or directories with spaces.<br>
\note Note If this tag is empty the current directory is searched.
\note If this tag is empty the current directory is searched.
\anchor cfg_input_encoding
<dt>\c INPUT_ENCODING <dd>
......@@ -1125,7 +1119,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
\anchor cfg_file_patterns
<dt>\c FILE_PATTERNS <dd>
\addindex FILE_PATTERNS
If the value of the \c INPUT tag contains directories, you can use the
If the value of the \ref cfg_input "INPUT" tag contains directories, you can use the
\c FILE_PATTERNS tag to specify one or more wildcard patterns
(like `*.cpp` and `*.h`) to filter out the source-files
in the directories. If left blank the following patterns are tested:
......@@ -1146,8 +1140,8 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
<dt>\c EXCLUDE <dd>
\addindex EXCLUDE
The \c EXCLUDE tag can be used to specify files and/or directories that should be
excluded from the \c INPUT source files. This way you can easily exclude a
subdirectory from a directory tree whose root is specified with the \c INPUT tag.
excluded from the \ref cfg_input "INPUT" source files. This way you can easily exclude a
subdirectory from a directory tree whose root is specified with the \ref cfg_input "INPUT" tag.
Note that relative paths are relative to the directory from which doxygen is run.
\anchor cfg_exclude_symlinks
......@@ -1159,7 +1153,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
\anchor cfg_exclude_patterns
<dt>\c EXCLUDE_PATTERNS <dd>
\addindex EXCLUDE_PATTERNS
If the value of the \c INPUT tag contains directories, you can use the
If the value of the \ref cfg_input "INPUT" tag contains directories, you can use the
\c EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
certain files from those directories.
......@@ -1186,7 +1180,8 @@ wildcard `*` is used, a substring. Examples: `ANamespace`, `AClass`,
<dt>\c EXAMPLE_RECURSIVE <dd>
\addindex EXAMPLE_RECURSIVE
If the \c EXAMPLE_RECURSIVE tag is set to \c YES then subdirectories will be
searched for input files to be used with the \\include or \\dontinclude
searched for input files to be used with the \ref cmdinclude "\\include" or
\ref cmddontinclude "\\dontinclude"
commands irrespective of the value of the \ref cfg_recursive "RECURSIVE" tag.
Possible values are \c YES and \c NO. If left blank \c NO is used.
......@@ -1211,12 +1206,12 @@ wildcard `*` is used, a substring. Examples: `ANamespace`, `AClass`,
\addindex INPUT_FILTER
The \c 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:
by executing (via <code>popen()</code>) the command:
\verbatim <filter> <input-file>
\endverbatim
where \<filter\>
is the value of the \c INPUT_FILTER tag, and \<input-file\> is the name of an
where <code>\<filter\></code>
is the value of the \c INPUT_FILTER tag, and <code>\<input-file\></code> is the name of an
input file. Doxygen will then use the output that the filter program writes
to standard output.
......@@ -1301,8 +1296,9 @@ the introduction page also for the doxygen output.
<dt>\c REFERENCES_LINK_SOURCE <dd>
\addindex REFERENCES_LINK_SOURCE
If the \c REFERENCES_LINK_SOURCE tag is set to \c YES (the default)
and SOURCE_BROWSER tag is set to \c YES, then the hyperlinks from
functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
and \ref cfg_source_browser "SOURCE_BROWSER" tag is set to \c YES, then the hyperlinks from
functions in \ref cfg_references_relation "REFERENCES_RELATION" and
\ref cfg_referenced_by_relation "REFERENCED_BY_RELATION" lists will
link to the source code. Otherwise they will link to the documentation.
\anchor cfg_verbatim_headers
......@@ -1313,25 +1309,45 @@ the introduction page also for the doxygen output.
which an include is specified. Set to \c NO to disable this.
\sa Section \ref cmdclass "\\class".
\anchor cfg_clang_assisted_parsig
<dt>\c CLANG_ASSISTED_PARSING <dd>
\addindex CLANG_ASSISTED_PARSING
If \c CLANG_ASSISTED_PARSING is set to \c YES, then doxygen will use the
<a href="http://clang.llvm.org/">clang parser</a> for more acurate parsing
at the cost of reduced performance. This can be particularly helpful with
template rich C++ code for which doxygen's built-in parser lacks the
necessairy type information.
@note The availability of this option depends on whether or not doxygen
was compiled with the `--with-libclang` option.
\anchor cfg_clang_options
<dt>\c CLANG_OPTIONS <dd>
\addindex CLANG_OPTIONS
If clang assisted parsing is enabled you can provide the compiler with command
line options that you would normally use when invoking the compiler. Note that
the include paths will already be set by doxygen for the files and directories
specified at \c INPUT and \c INCLUDE_PATH.
\anchor cfg_use_htags
<dt>\c USE_HTAGS <dd>
\addindex USE_HTAGS
If the \c USE_HTAGS tag is set to \c 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
will point to the HTML generated by the \c htags(1) tool instead of doxygen
built-in source browser. The \c htags tool is part of GNU's global source
tagging system (see http://www.gnu.org/software/global/global.html).
To use it do the following:
-# Install the latest version of global (i.e. 4.8.6 or better)
-# Enable SOURCE_BROWSER and USE_HTAGS in the config file
-# Make sure the INPUT points to the root of the source tree
-# Enable \ref cfg_source_browser "SOURCE_BROWSER" and \c USE_HTAGS in the config file
-# Make sure the \ref cfg_input "INPUT" points to the root of the source tree
-# Run doxygen as normal
Doxygen will invoke htags (and that will in turn invoke gtags), so these tools
Doxygen will invoke \c htags (and that will in turn invoke \c gtags), so these tools
must be available from the command line (i.e. in the search path).
The result: instead of the source browser generated by doxygen, the links to
source code will now point to the output of htags.
source code will now point to the output of \c htags.
</dl>
......@@ -1349,7 +1365,7 @@ the introduction page also for the doxygen output.
\anchor cfg_cols_in_alpha_index
\addindex COLS_IN_ALPHA_INDEX
If the alphabetical index is enabled
(see \c ALPHABETICAL_INDEX) then the \c COLS_IN_ALPHA_INDEX tag can be
(see \ref cfg_alphabetical_index "ALPHABETICAL_INDEX") then the \c 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])
\anchor cfg_ignore_prefix
......@@ -1375,15 +1391,15 @@ the introduction page also for the doxygen output.
<dt>\c HTML_OUTPUT <dd>
\addindex HTML_OUTPUT
The \c HTML_OUTPUT tag is used to specify where the HTML docs will be put.
If a relative path is entered the value of \c OUTPUT_DIRECTORY will be
put in front of it. If left blank 'html' will be used as the default path.
If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
put in front of it. If left blank '<code>html</code>' will be used as the default path.
\anchor cfg_html_file_extension
<dt>\c HTML_FILE_EXTENSION <dd>
\addindex HTML_FILE_EXTENSION
The \c 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.
each generated HTML page (for example: <code>.htm, .php, .asp</code>). If it is left blank
doxygen will generate files with <code>.html</code> extension.
\anchor cfg_html_header
<dt>\c HTML_HEADER <dd>
......@@ -1428,9 +1444,9 @@ doxygen -w html new_header.html new_footer.html new_stylesheet.css YourConfigFil
the javascript and style sheets needed for the MathJax feature
(or an empty string when \ref cfg_use_mathjax "USE_MATHJAX" is disabled).
<dt><code>\$relpath^</code><dd>
If \c CREATE_SUBDIRS is enabled, the command <code>\$relpath^</code> can be
If \ref cfg_create_subdirs "CREATE_SUBDIRS" is enabled, the command <code>\$relpath^</code> can be
used to produce a relative path to the root of the HTML output directory,
e.g. use \$relpath^doxygen.css, to refer to the standard style sheet.
e.g. use <code>\$relpath^doxygen.css</code>, to refer to the standard style sheet.
</dl>
To cope with differences in the layout of the header and footer that depend on
......@@ -1503,7 +1519,8 @@ doxygen -w html new_header.html new_footer.html new_stylesheet.css YourConfigFil
the style sheet that doxygen normally uses.
\note It is recommended to use
\c HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and
\ref cfg_html_extra_stylesheet "HTML_EXTRA_STYLESHEET" instead of this tag,
as it is more robust and
this tag will in the future become obsolete.
\anchor cfg_html_extra_stylesheet
......@@ -1512,7 +1529,7 @@ doxygen -w html new_header.html new_footer.html new_stylesheet.css YourConfigFil
The HTML_EXTRA_STYLESHEET tag can be used to specify an additional
user-defined cascading style sheet that is included after the standard
style sheets created by doxygen. Using this option one can overrule
certain style aspects. This is preferred over using \c HTML_STYLESHEET
certain style aspects. This is preferred over using \ref cfg_html_stylesheet "HTML_STYLESHEET"
since it does not replace the standard style sheet and is therefor more
robust against future updates. Doxygen will copy the style sheet file to
the output directory.
......@@ -1554,8 +1571,9 @@ hr.footer {
The \c HTML_EXTRA_FILES tag can be used to specify one or more extra images or
other source files which should be copied to the HTML output directory. Note
that these files will be copied to the base HTML output directory. Use the
$relpath^ marker in the \c HTML_HEADER and/or \c HTML_FOOTER files to load these
files. In the \c HTML_STYLESHEET file, use the file name only. Also note that
<code>$relpath^</code> marker in the \ref cfg_html_header "HTML_HEADER" and/or
\ref cfg_html_footer "HTML_FOOTER" files to load these
files. In the \ref cfg_html_stylesheet "HTML_STYLESHEET" file, use the file name only. Also note that
the files will be copied as-is; there are no commands or markers available.
\anchor cfg_html_colorstyle_hue
......@@ -1641,27 +1659,28 @@ hr.footer {
\anchor cfg_docset_feedname
<dt>\c DOCSET_FEEDNAME <dd>
\addindex DOCSET_FEEDNAME
When \c GENERATE_DOCSET tag is set to \c YES, this tag determines the name of the
When \ref cfg_generate_docset "GENERATE_DOCSET" tag is set to \c YES, this tag determines the name of the
feed. A documentation feed provides an umbrella under which multiple
documentation sets from a single provider (such as a company or product suite)
can be grouped.
\anchor cfg_docset_bundle_id
<dt>\c DOCSET_BUNDLE_ID <dd>
When \c GENERATE_DOCSET tag is set to \c YES, this tag specifies a string that
When \ref cfg_generate_docset "GENERATE_DOCSET" tag is set to \c YES, this tag specifies a string that
should uniquely identify the documentation set bundle. This should be a
reverse domain-name style string, e.g. <code>com.mycompany.MyDocSet</code>.
Doxygen will append <code>.docset</code> to the name.
\anchor cfg_docset_publisher_id
<dt>\c DOCSET_PUBLISHER_ID <dd>
When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
When \ref cfg_generate_docset "GENERATE_DOCSET" tag is set to \c YES \c DOCSET_PUBLISHER_ID
tag specifies a string that should uniquely identify
the documentation publisher. This should be a reverse domain-name style
string, e.g. com.mycompany.MyDocSet.documentation.
\anchor cfg_docset_publisher_name
<dt>\c DOCSET_PUBLISHER_NAME <dd>
The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
The \c DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
\anchor cfg_generate_htmlhelp
<dt>\c GENERATE_HTMLHELP <dd>
......@@ -1670,14 +1689,14 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
doxygen generates three additional HTML index files:
\c index.hhp, \c index.hhc, and \c index.hhk. The \c index.hhp is a
project file that can be read by
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/vsconHH1Start.asp">
<a href="http://www.microsoft.com/en-us/download/details.aspx?id=21138">
Microsoft's HTML Help Workshop</a>
on Windows.
The HTML Help Workshop contains a compiler that can convert all HTML output
generated by doxygen into a single compiled HTML file (.chm). Compiled
generated by doxygen into a single compiled HTML file (`.chm`). Compiled
HTML files are now used as the Windows 98 help format, and will replace
the old Windows help format (.hlp) on all Windows platforms in the future.
the old Windows help format (`.hlp`) on all Windows platforms in the future.
Compressed HTML files also contain an index, a table of contents,
and you can search for words in the documentation.
The HTML workshop also contains a viewer for compressed HTML files.
......@@ -1685,39 +1704,39 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
\anchor cfg_chm_file
<dt>\c CHM_FILE <dd>
\addindex CHM_FILE
If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c CHM_FILE tag can
be used to specify the file name of the resulting .chm file. You
If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c 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.
\anchor cfg_hhc_location
<dt>\c HHC_LOCATION <dd>
\addindex HHC_LOCATION
If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c HHC_LOCATION tag can
If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c 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.
the HTML help compiler (\c hhc.exe). If non-empty doxygen will try to run
the HTML help compiler on the generated \c index.hhp.
\anchor cfg_generate_chi
<dt>\c GENERATE_CHI <dd>
\addindex GENERATE_CHI
If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c GENERATE_CHI flag
controls if a separate .chi index file is generated (<code>YES</code>) or that
it should be included in the master .chm file (<code>NO</code>).
If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c GENERATE_CHI flag
controls if a separate `.chi` index file is generated (\c YES) or that
it should be included in the master `.chm` file (\c NO).
\anchor cfg_chm_index_encoding
<dt>\c CHM_INDEX_ENCODING <dd>
\addindex CHM_INDEX_ENCODING
If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c CHM_INDEX_ENCODING
is used to encode HtmlHelp index (hhk), content (hhc) and project file
If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c CHM_INDEX_ENCODING
is used to encode HtmlHelp index (\c hhk), content (\c hhc) and project file
content.
\anchor cfg_binary_toc
<dt>\c BINARY_TOC <dd>
\addindex BINARY_TOC
If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c BINARY_TOC flag
controls whether a binary table of contents is generated (<code>YES</code>) or a
normal table of contents (<code>NO</code>) in the .chm file.
If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c BINARY_TOC flag
controls whether a binary table of contents is generated (\c YES) or a
normal table of contents (\c NO) in the .chm file.
\anchor cfg_toc_expand
<dt>\c TOC_EXPAND <dd>
......@@ -1729,79 +1748,79 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
\anchor cfg_generate_qhp
<dt>\c GENERATE_QHP <dd>
\addindex GENERATE_QHP
If the GENERATE_QHP tag is set to \c YES and both \c QHP_NAMESPACE
and QHP_VIRTUAL_FOLDER are set, an additional index file will
If the \c GENERATE_QHP tag is set to \c YES and both \ref cfg_qhp_namespace "QHP_NAMESPACE"
and \ref cfg_qhp_virtual_folder "QHP_VIRTUAL_FOLDER" are set, an additional index file will
be generated that can be used as input for Qt's qhelpgenerator
to generate a Qt Compressed Help (.qch) of the generated HTML
to generate a Qt Compressed Help (`.qch`) of the generated HTML
documentation.
\anchor cfg_qch_file
<dt>\c QCH_FILE <dd>
\addindex QCH_FILE
If the QHG_LOCATION tag is specified, the QCH_FILE tag can
be used to specify the file name of the resulting .qch file.
If the \ref cfg_qhg_location "QHG_LOCATION" tag is specified, the \c QCH_FILE tag can
be used to specify the file name of the resulting `.qch` file.
The path specified is relative to the HTML output folder.
\anchor cfg_qhp_namespace
<dt>\c QHP_NAMESPACE <dd>
\addindex QHP_NAMESPACE
The QHP_NAMESPACE tag specifies the namespace to use when generating
The \c QHP_NAMESPACE tag specifies the namespace to use when generating
Qt Help Project output. For more information please see
<a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace">Qt Help Project / Namespace</a>.
\anchor cfg_qhp_virtual_folder
<dt>\c QHP_VIRTUAL_FOLDER <dd>
\addindex QHP_VIRTUAL_FOLDER
The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when
The \c QHP_VIRTUAL_FOLDER tag specifies the namespace to use when
generating Qt Help Project output. For more information please see
<a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-folders">Qt Help Project / Virtual Folders</a>.
\anchor cfg_qhp_cust_filter_name
<dt>\c QHP_CUST_FILTER_NAME <dd>
\addindex QHP_CUST_FILTER_NAME
If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. For more information please see
If \c QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. For more information please see
<a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
\anchor cfg_qhp_cust_filter_attrs
<dt>\c QHP_CUST_FILTER_ATTRS <dd>
\addindex QHP_CUST_FILTER_ATTRS
The QHP_CUST_FILTER_ATTRIBUTES tag specifies the list of the attributes of the custom filter to add.
The \c QHP_CUST_FILTER_ATTRIBUTES tag specifies the list of the attributes of the custom filter to add.
For more information please see
<a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
\anchor cfg_qhp_sect_filter_attrs
<dt>\c QHP_SECT_FILTER_ATTRS <dd>
\addindex QHP_SECT_FILTER_ATTRS
The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's filter section matches.
The \c QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's filter section matches.
<a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
\anchor cfg_qhg_location
<dt>\c QHG_LOCATION <dd>
\addindex QHG_LOCATION
If the GENERATE_QHP tag is set to \c YES, the \c QHG_LOCATION tag can
If the \ref cfg_generate_qhp "GENERATE_QHP" tag is set to \c YES, the \c QHG_LOCATION tag can
be used to specify the location of Qt's qhelpgenerator.
If non-empty doxygen will try to run qhelpgenerator on the generated
.qhp file.
`.qhp` file.
\anchor cfg_generate_eclipsehelp
<dt>\c GENERATE_ECLIPSEHELP <dd>
\addindex GENERATE_ECLIPSEHELP
If the \c GENERATE_ECLIPSEHELP tag is set to \c YES, additional index files
will be generated, which together with the HTML files, form an Eclipse help
will be generated, which together with the HTML files, form an `Eclipse` help
plugin.
To install this plugin and make it available under the help contents
menu in Eclipse, the contents of the directory containing the HTML and XML
menu in `Eclipse`, the contents of the directory containing the HTML and XML
files needs to be copied into the plugins directory of eclipse. The name of
the directory within the plugins directory should be the same as
the \ref cfg_eclipse_doc_id "ECLIPSE_DOC_ID" value.
After copying Eclipse needs to be restarted before the help appears.
After copying `Eclipse` needs to be restarted before the help appears.
\anchor cfg_eclipse_doc_id
<dt>\c ECLIPSE_DOC_ID <dd>
\addindex ECLIPSE_DOC_ID
A unique identifier for the eclipse help plugin. When installing the plugin
A unique identifier for the `Eclipse` help plugin. When installing the plugin
the directory name containing the HTML and XML files should also have
this name. Each documentation set should have its own identifier.
......@@ -1827,7 +1846,7 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
\anchor cfg_generate_treeview
<dt>\c GENERATE_TREEVIEW <dd>
\addindex GENERATE_TREEVIEW
The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
The \c GENERATE_TREEVIEW tag is used to specify whether a tree-like index
structure should be generated to display hierarchical information.
If the tag value is set to \c YES, a side panel will be generated
containing a tree-like index structure (just like the one that
......@@ -1835,16 +1854,16 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
Windows users are probably better off using the HTML help feature.
Via custom stylesheets (see \ref cfg_html_stylesheet "HTML_STYLESHEET")
Via custom stylesheets (see \ref cfg_html_extra_stylesheet "HTML_EXTRA_STYLESHEET")
one can further \ref doxygen_finetune "fine-tune" the look of the index.
As an example, the default style sheet generated by doxygen has an
example that shows how to put an image at the root of the tree instead of
the \ref cfg_project_name "project name".
the \ref cfg_project_name "PROJECT_NAME".
\anchor cfg_treeview_width
<dt>\c TREEVIEW_WIDTH <dd>
\addindex TREEVIEW_WIDTH
If the treeview is enabled (see \c GENERATE_TREEVIEW) then this tag can be
If the treeview is enabled (see \ref cfg_generate_treeview "GENERATE_TREEVIEW") then this tag can be
used to set the initial width (in pixels) of the frame in which the tree
is shown.
......@@ -1857,7 +1876,7 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
\anchor cfg_formula_fontsize
<dt>\c FORMULA_FONTSIZE <dd>
\addindex FORMULA_FONTSIZE
Use this tag to change the font size of Latex formulas included
Use this tag to change the font size of \f$\mbox{\LaTeX}\f$ formulas included
as images in the HTML documentation. The default is 10.
when you change the font size after a successful doxygen run you need
to manually remove any `form_*.png` images from the HTML
......@@ -1875,10 +1894,10 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
\anchor cfg_use_mathjax
<dt>\c USE_MATHJAX <dd>
\addindex USE_MATHJAX
Enable the \c USE_MATHJAX option to render LaTeX formulas using MathJax
Enable the \c USE_MATHJAX option to render \f$\mbox{\LaTeX}\f$ formulas using MathJax
(see http://www.mathjax.org) which uses client side Javascript for the
rendering instead of using prerendered bitmaps. Use this if you do not
have LaTeX installed or if you want to formulas look prettier in the HTML
have \f$\mbox{\LaTeX}\f$ installed or if you want to formulas look prettier in the HTML
output. When enabled you may also need to install MathJax separately and
configure the path to it using the \ref cfg_mathjax_relpath "MATHJAX_RELPATH"
option.
......@@ -1917,7 +1936,7 @@ MATHJAX_CODEFILE = disableRenderer
\addindex MATHJAX_RELPATH
When MathJax is enabled you need to specify the location relative to the
HTML output directory using the \c MATHJAX_RELPATH option. The destination
directory should contain the MathJax.js script. For instance, if the mathjax
directory should contain the `MathJax.js` script. For instance, if the \c mathjax
directory is located at the same level as the HTML output directory, then
\c MATHJAX_RELPATH should be <code>../mathjax</code>. The default value points to
the MathJax Content Delivery Network so you can quickly see the result without
......@@ -1927,7 +1946,7 @@ MATHJAX_CODEFILE = disableRenderer
\anchor cfg_mathjax_extensions
<dt>\c MATHJAX_EXTENSIONS <dd>
\addindex MATHJAX_EXTENSIONS
The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
The \c MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
names that should be enabled during MathJax rendering. For example
\verbatim
MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
......@@ -1949,14 +1968,14 @@ MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
better solution.
It is possible to search using the keyboard;
to jump to the search box use access key + S (what the access key is
depends on the OS and browser, but it is typically CTRL, ALT/option, or both).
Inside the search box use the cursor down key to jump into the search
results window, the results can be navigated using the cursor keys.
Press Enter to select an item or escape to cancel the search. The
to jump to the search box use `<access key> + S` (what the `<access key>` is
depends on the OS and browser, but it is typically `<CTRL>`, `<ALT>`/`<option>`, or both).
Inside the search box use the `<cursor down key>` to jump into the search
results window, the results can be navigated using the `<cursor keys>`.
Press `<Enter>` to select an item or `<escape>` to cancel the search. The
filter options can be selected when the cursor is inside the search box
by pressing Shift+cursor down. Also here use the cursor keys to
select a filter and enter or escape to activate or cancel the filter option.
by pressing `<Shift>+<cursor down>`. Also here use the `<cursor keys>` to
select a filter and `<Enter>` or `<escape>` to activate or cancel the filter option.
\anchor cfg_server_based_search
<dt>\c SERVER_BASED_SEARCH <dd>
......@@ -1999,13 +2018,14 @@ When \ref cfg_server_based_search "SERVER_BASED_SEARCH" and
\ref cfg_external_search "EXTERNAL_SEARCH" are both enabled the unindexed
search data is written to a file for indexing by an external tool. With the
\c SEARCHDATA_FILE tag the name of this file can be specified.
The default is searchdata.xml.
The default is `searchdata.xml`.
\anchor cfg_external_search_id
<dt>\c EXTERNAL_SEARCH_ID <dd>
\addindex EXTERNAL_SEARCH_ID
When \c SERVER_BASED_SEARCH AND \c EXTERNAL_SEARCH are both enabled the
When \ref cfg_server_based_search "SERVER_BASED_SEARCH" and
\ref cfg_external_search "EXTERNAL_SEARCH" are both enabled the
\c EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
useful in combination with \ref cfg_extra_search_mappings "EXTRA_SEARCH_MAPPINGS"
to search through multiple projects and redirect the results back to the right project.
......@@ -2042,23 +2062,23 @@ EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
\addindex LATEX_OUTPUT
The \c LATEX_OUTPUT tag is used to specify where the \f$\mbox{\LaTeX}\f$
docs will be put.
If a relative path is entered the value of \c OUTPUT_DIRECTORY will be
put in front of it. If left blank 'latex' will be used as the default path.
If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
put in front of it. If left blank '`latex`' will be used as the default path.
\anchor cfg_latex_cmd_name
<dt>\c LATEX_CMD_NAME <dd>
\addindex LATEX_CMD_NAME
The \c LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be invoked.
The \c LATEX_CMD_NAME tag can be used to specify the \f$\mbox{\LaTeX}\f$ command name to be invoked.
If left blank 'latex' will be used as the default command name.
Note that when enabling USE_PDFLATEX this option is only used for
Note that when enabling \ref cfg_use_pdflatex "USE_PDFLATEX" this option is only used for
generating bitmaps for formulas in the HTML output, but not in the
Makefile that is written to the output directory.
\c Makefile that is written to the output directory.
\anchor cfg_makeindex_cmd_name
<dt>\c MAKEINDEX_CMD_NAME <dd>
\addindex MAKEINDEX_CMD_NAME
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
generate index for \f$\mbox{\LaTeX}\f$. If left blank '`makeindex`' will be used as the
default command name.
\anchor cfg_compact_latex
......@@ -2079,7 +2099,7 @@ EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
<li><code>legal</code> (8.5 x 14 inches).
<li><code>executive</code> (7.25 x 10.5 inches)
</ul>
If left blank a4 will be used.
If left blank \c a4 will be used.
\anchor cfg_extra_packages
<dt>\c EXTRA_PACKAGES <dd>
......@@ -2112,22 +2132,25 @@ EXTRA_PACKAGES = times
<code>\$projectnumber</code>.
Doxygen will replace them by respectively
the title of the page, the current date and time, only the current date,
the version number of doxygen, the project name (see \c PROJECT_NAME), or the
project number (see \c PROJECT_NUMBER).
the version number of doxygen, the project name (see \ref cfg_project_name "PROJECT_NAME"), or the
project number (see \ref cfg_project_number "PROJECT_NUMBER").
\anchor cfg_latex_footer
<dt>\c LATEX_FOOTER <dd>
\addindex LATEX_FOOTER
The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
the generated latex document. The footer should contain everything after
The LATEX_FOOTER tag can be used to specify a personal \f$\mbox{\LaTeX}\f$ footer for
the generated \f$\mbox{\LaTeX}\f$ document. The footer should contain everything after
the last chapter. If it is left blank doxygen will generate a
standard footer. Notice: only use this tag if you know what you are doing!
standard footer.
\par Note:
Only use a user-defined footer if you know what you are doing!
\anchor cfg_latex_extra_files
<dt>\c LATEX_EXTRA_FILES <dd>
\addindex LATEX_EXTRA_FILES
The \c LATEX_EXTRA_FILES tag can be used to specify one or more extra images
or other source files which should be copied to the LaTeX output directory.
or other source files which should be copied to the \f$\mbox{\LaTeX}\f$ output directory.
Note that the files will be copied as-is; there are no commands or markers
available.
......@@ -2136,7 +2159,7 @@ EXTRA_PACKAGES = times
\addindex PDF_HYPERLINKS
If the \c PDF_HYPERLINKS tag is set to \c YES, the \f$\mbox{\LaTeX}\f$ that
is generated is prepared for conversion to PDF (using ps2pdf or pdflatex).
is generated is prepared for conversion to PDF (using \c ps2pdf or \c pdflatex).
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.
......@@ -2146,14 +2169,14 @@ EXTRA_PACKAGES = times
\addindex LATEX_PDFLATEX
If the \c LATEX_PDFLATEX tag is set to \c YES, doxygen will use
pdflatex to generate the PDF file directly from the \f$\mbox{\LaTeX}\f$
\c pdflatex to generate the PDF file directly from the \f$\mbox{\LaTeX}\f$
files.
\anchor cfg_latex_batchmode
<dt>\c LATEX_BATCHMODE <dd>
\addindex LATEX_BATCHMODE
If the \c LATEX_BATCHMODE tag is set to \c YES, doxygen will add the \\batchmode.
If the \c LATEX_BATCHMODE tag is set to \c YES, doxygen will add the \c \\batchmode
command to the generated \f$\mbox{\LaTeX}\f$ files. This will
instruct \f$\mbox{\LaTeX}\f$ to keep running if errors occur, instead of
asking the user for help. This option is also used when generating formulas
......@@ -2179,7 +2202,7 @@ EXTRA_PACKAGES = times
\anchor cfg_latex_source_code
<dt>\c LATEX_SOURCE_CODE <dd>
If \c LATEX_SOURCE_CODE is set to \c YES then doxygen will include
source code with syntax highlighting in the LaTeX output.
source code with syntax highlighting in the \f$\mbox{\LaTeX}\f$ output.
Note that which sources are shown also depends on other settings
such as \ref cfg_source_browser "SOURCE_BROWSER".
......@@ -2198,8 +2221,8 @@ EXTRA_PACKAGES = times
<dt>\c RTF_OUTPUT <dd>
\addindex RTF_OUTPUT
The \c RTF_OUTPUT tag is used to specify where the RTF docs will be put.
If a relative path is entered the value of \c OUTPUT_DIRECTORY will be
put in front of it. If left blank \c rtf will be used as the default path.
If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
put in front of it. If left blank '`rtf`' will be used as the default path.
\anchor cfg_compact_rtf
<dt>\c COMPACT_RTF <dd>
......@@ -2252,9 +2275,9 @@ EXTRA_PACKAGES = times
<dt>\c MAN_OUTPUT <dd>
\addindex MAN_OUTPUT
The \c MAN_OUTPUT tag is used to specify where the man pages will be put.
If a relative path is entered the value of \c OUTPUT_DIRECTORY will be
put in front of it. If left blank 'man' will be used as the default path.
A directory man3 will be created inside the directory specified by
If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
put in front of it. If left blank '`man`' will be used as the default path.
A directory \c man3 will be created inside the directory specified by
\c MAN_OUTPUT.
\anchor cfg_man_extension
......@@ -2263,7 +2286,7 @@ EXTRA_PACKAGES = times
The \c MAN_EXTENSION tag determines the extension that is added to
the generated man pages (default is the subroutine's section .3). In case
the manual section does not start with a number, the number 3 is prepended.
The dot (.) at the beginning of the MAN_EXTENSION is optional.
The dot (.) at the beginning of the \c MAN_EXTENSION is optional.
\anchor cfg_man_links
<dt>\c MAN_LINKS <dd>
......@@ -2282,7 +2305,7 @@ EXTRA_PACKAGES = times
<dt>\c GENERATE_XML <dd>
\addindex GENERATE_XML
If the \c GENERATE_XML tag is set to \c YES Doxygen will
If the \c GENERATE_XML tag is set to \c YES doxygen will
generate an XML file that captures the structure of
the code including all documentation.
......@@ -2290,27 +2313,27 @@ EXTRA_PACKAGES = times
<dt>\c XML_OUTPUT <dd>
\addindex XML_OUTPUT
The \c XML_OUTPUT tag is used to specify where the XML pages will be put.
If a relative path is entered the value of \c OUTPUT_DIRECTORY will be
put in front of it. If left blank \c xml will be used as the default path.
If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
put in front of it. If left blank '`xml`' will be used as the default path.
\anchor cfg_xml_schema
<dt>\c XML_SCHEMA <dd>
\addindex XML_SCHEMA
The \c XML_SCHEMA tag can be used to specify an XML schema,
The \c XML_SCHEMA tag can be used to specify a XML schema,
which can be used by a validating XML parser to check the
syntax of the XML files.
\anchor cfg_xml_dtd
<dt>\c XML_DTD <dd>
\addindex XML_DTD
The \c XML_DTD tag can be used to specify an XML DTD,
The \c XML_DTD tag can be used to specify a XML DTD,
which can be used by a validating XML parser to check the
syntax of the XML files.
\anchor cfg_xml_programlisting
<dt>\c XML_PROGRAMLISTING <dd>
\addindex XML_PROGRAMLISTING
If the \c XML_PROGRAMLISTING tag is set to \c YES Doxygen will
If the \c XML_PROGRAMLISTING tag is set to \c 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.
......@@ -2323,7 +2346,7 @@ EXTRA_PACKAGES = times
<dt>\c GENERATE_DOCBOOK <dd>
\addindex GENERATE_DOCBOOK
If the \c GENERATE_DOCBOOK tag is set to \c YES Doxygen will generate Docbook files
If the \c GENERATE_DOCBOOK tag is set to \c YES doxygen will generate Docbook files
that can be used to generate PDF.
\anchor cfg_docbook_output
......@@ -2331,7 +2354,7 @@ that can be used to generate PDF.
\addindex DOCBOOK_OUTPUT
The \c DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be put in
front of it. If left blank docbook will be used as the default path.
front of it. If left blank '`docbook`' will be used as the default path.
</dl>
......@@ -2341,7 +2364,7 @@ front of it. If left blank docbook will be used as the default path.
<dt>\c GENERATE_AUTOGEN_DEF <dd>
\addindex GENERATE_AUTOGEN_DEF
If the \c GENERATE_AUTOGEN_DEF tag is set to \c YES Doxygen will
If the \c GENERATE_AUTOGEN_DEF tag is set to \c YES doxygen will
generate an AutoGen Definitions (see http://autogen.sf.net) file
that captures the structure of the code including all
documentation. Note that this feature is still experimental
......@@ -2355,7 +2378,7 @@ front of it. If left blank docbook will be used as the default path.
<dt>\c GENERATE_PERLMOD <dd>
\addindex GENERATE_PERLMOD
If the \c GENERATE_PERLMOD tag is set to \c YES Doxygen will
If the \c GENERATE_PERLMOD tag is set to \c 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
......@@ -2364,8 +2387,8 @@ front of it. If left blank docbook will be used as the default path.
\anchor cfg_perlmod_latex
<dt>\c PERLMOD_LATEX <dd>
\addindex PERLMOD_LATEX
If the \c PERLMOD_LATEX tag is set to \c YES Doxygen will generate
the necessary Makefile rules, Perl scripts and LaTeX code to be able
If the \c PERLMOD_LATEX tag is set to \c YES doxygen will generate
the necessary Makefile rules, Perl scripts and \f$\mbox{\LaTeX}\f$ code to be able
to generate PDF and DVI output from the Perl module output.
\anchor cfg_perlmod_pretty
......@@ -2380,10 +2403,10 @@ front of it. If left blank docbook will be used as the default path.
\anchor cfg_perlmod_makevar_prefix
<dt>\c PERLMOD_MAKEVAR_PREFIX <dd>
\addindex PERLMOD_MAKEVAR_PREFIX
The names of the make variables in the generated doxyrules.make file
The names of the make variables in the generated `doxyrules.make` file
are prefixed with the string contained in \c PERLMOD_MAKEVAR_PREFIX.
This is useful so different doxyrules.make files included by the same
Makefile don't overwrite each other's variables.
This is useful so different `doxyrules.make` files included by the same
`Makefile` don't overwrite each other's variables.
</dl>
......@@ -2403,20 +2426,20 @@ front of it. If left blank docbook will be used as the default path.
If the \c MACRO_EXPANSION tag is set to \c YES doxygen will expand all macro
names in the source code. If set to \c NO (the default) only conditional
compilation will be performed. Macro expansion can be done in a controlled
way by setting \c EXPAND_ONLY_PREDEF to \c YES.
way by setting \ref cfg_expand_only_predef "EXPAND_ONLY_PREDEF" to \c YES.
\anchor cfg_expand_only_predef
<dt>\c EXPAND_ONLY_PREDEF <dd>
\addindex EXPAND_ONLY_PREDEF
If the \c EXPAND_ONLY_PREDEF and \c MACRO_EXPANSION tags are both set to \c YES
If the \c EXPAND_ONLY_PREDEF and \ref cfg_macro_expansion "MACRO_EXPANSION" tags are both set to \c YES
then the macro expansion is limited to the macros specified with the
\c PREDEFINED and \c EXPAND_AS_DEFINED tags.
\ref cfg_predefined "PREDEFINED" and \ref cfg_expand_as_defined "EXPAND_AS_DEFINED" tags.
\anchor cfg_search_includes
<dt>\c SEARCH_INCLUDES <dd>
\addindex SEARCH_INCLUDES
If the \c SEARCH_INCLUDES tag is set to \c YES (the default) the includes files
in the \c INCLUDE_PATH (see below) will be searched if a \#include is found.
in the \ref cfg_include_path "INCLUDE_PATH" will be searched if a \c \#include is found.
\anchor cfg_include_path
<dt>\c INCLUDE_PATH <dd>
......@@ -2430,27 +2453,28 @@ front of it. If left blank docbook will be used as the default path.
\addindex INCLUDE_FILE_PATTERNS
You can use the \c 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 \c FILE_PATTERNS will
directories. If left blank, the patterns specified with \ref cfg_file_patterns "FILE_PATTERNS" will
be used.
\anchor cfg_predefined
<dt>\c PREDEFINED <dd>
\addindex PREDEFINED
The \c 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:
are defined before the preprocessor is started (similar to the `-D` option of
\c gcc). The argument of the tag is a list of macros of the form:
<code>name</code> or <code>name=definition</code> (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.
a macro definition from being undefined via \c \#undef or recursively expanded
use the \c := operator instead of the \c = operator.
\anchor cfg_expand_as_defined
<dt>\c EXPAND_AS_DEFINED <dd>
\addindex EXPAND_AS_DEFINED
If the \c MACRO_EXPANSION and \c EXPAND_ONLY_PREDEF tags are set to \c YES then
If the \ref cfg_macro_expansion "MACRO_EXPANSION" and
\ref cfg_expand_only_predef "EXPAND_ONLY_PREDEF" tags are set to \c 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 \c PREDEFINED tag if you want to use a different macro definition.
Use the \ref cfg_predefined "PREDEFINED" tag if you want to use a different macro definition.
\anchor cfg_skip_function_macros
<dt>\c SKIP_FUNCTION_MACROS <dd>
......@@ -2473,7 +2497,7 @@ front of it. If left blank docbook will be used as the default path.
See \ref external for more information about the use of tag files.
\note
Each tag file must have a unique name
Each tag file must have an unique name
(where the name does \e 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.
......@@ -2523,8 +2547,8 @@ front of it. If left blank docbook will be used as the default path.
If the \c CLASS_DIAGRAMS tag is set to \c YES (the default) doxygen will
generate a class diagram (in HTML and \f$\mbox{\LaTeX}\f$) for classes with base or
super classes. Setting the tag to \c NO turns the diagrams off. Note that
this option also works with \c HAVE_DOT disabled, but it is recommended to
install and use dot, since it yields more powerful graphs.
this option also works with \ref cfg_have_dot "HAVE_DOT" disabled, but it is recommended to
install and use \c dot, since it yields more powerful graphs.
\anchor cfg_mscgen_path
<dt>\c MSCGEN_PATH <dd>
......@@ -2538,16 +2562,16 @@ install and use dot, since it yields more powerful graphs.
\anchor cfg_have_dot
<dt>\c HAVE_DOT <dd>
\addindex HAVE_DOT
If you set the \c HAVE_DOT tag to \c YES then doxygen will assume the dot tool is
available from the path. This tool is part of
<a href="http://www.research.att.com/sw/tools/graphviz/">Graphviz</a>, a graph
If you set the \c HAVE_DOT tag to \c YES then doxygen will assume the \c dot tool is
available from the \c path. This tool is part of
<a href=" http://www.graphviz.org/">Graphviz</a>, 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 \c NO (the default)
\anchor cfg_dot_num_threads
<dt>\c DOT_NUM_THREADS <dd>
\addindex DOT_NUM_THREADS
The \c DOT_NUM_THREADS specifies the number of dot invocations doxygen is
The \c DOT_NUM_THREADS specifies the number of \c dot invocations doxygen is
allowed to run in parallel. When set to 0 (the default) doxygen will
base this on the number of processors available in the system. You can set it
explicitly to a value larger than 0 to get control over the balance
......@@ -2561,7 +2585,7 @@ install and use dot, since it yields more powerful graphs.
When you want a differently looking font you can specify the font name
using \c DOT_FONTNAME. You need to make sure dot is able to find the font,
which can be done by putting it in a standard location or by setting the
\c DOTFONTPATH environment variable or by setting \c DOT_FONTPATH to the
\c DOTFONTPATH environment variable or by setting \ref cfg_dot_fontpath "DOT_FONTPATH" to the
directory containing the font.
\anchor cfg_dot_fontsize
......@@ -2572,23 +2596,23 @@ The default size is 10pt.
\anchor cfg_dot_fontpath
<dt>\c DOT_FONTPATH <dd>
\addindex DOT_FONTPATH
By default doxygen will tell dot to use the output directory to look for the
By default doxygen will tell \c dot to use the output directory to look for the
\c FreeSans.ttf font (which doxygen will put there itself). If you specify a
different font using \c DOT_FONTNAME you can set the path where dot
different font using \ref cfg_dot_fontname "DOT_FONTNAME" you can set the path where \c dot
can find it using this tag.
\anchor cfg_class_graph
<dt>\c CLASS_GRAPH <dd>
\addindex CLASS_GRAPH
If the \c CLASS_GRAPH and \c HAVE_DOT tags are set to \c YES then doxygen
If the \c CLASS_GRAPH and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen
will generate a graph for each documented class showing the direct and
indirect inheritance relations. Setting this tag to \c YES will force
the \c CLASS_DIAGRAMS tag to \c NO.
the \ref cfg_class_diagrams "CLASS_DIAGRAMS" tag to \c NO.
\anchor cfg_collaboration_graph
<dt>\c COLLABORATION_GRAPH <dd>
\addindex COLLABORATION_GRAPH
If the \c COLLABORATION_GRAPH and \c HAVE_DOT tags are set to \c YES then doxygen
If the \c COLLABORATION_GRAPH and \ref cfg_have_dot "HAVE_DOT" are set to \c 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.
......@@ -2596,20 +2620,20 @@ The default size is 10pt.
\anchor cfg_group_graphs
<dt>\c GROUP_GRAPHS <dd>
\addindex GROUP_GRAPHS
If the GROUP_GRAPHS and HAVE_DOT tags are set to \c YES then doxygen
If the \c GROUP_GRAPHS and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen
will generate a graph for groups, showing the direct groups dependencies.
\anchor cfg_uml_look
<dt>\c UML_LOOK <dd>
\addindex UML_LOOK
If the UML_LOOK tag is set to \c YES doxygen will generate inheritance and
If the \c UML_LOOK tag is set to \c YES doxygen will generate inheritance and
collaboration diagrams in a style similar to the OMG's Unified Modeling
Language.
\anchor cfg_uml_limit_num_fields
<dt>\c UML_LIMIT_NUM_FIELDS <dd>
\addindex UML_LIMIT_NUM_FIELDS
If the \c UML_LOOK tag is enabled, the fields and methods are shown inside
If the \ref cfg_uml_look "UML_LOOK" tag is enabled, the fields and methods are shown inside
the class node. If there are many fields or methods and many nodes the
graph may become too big to be useful. The \c UML_LIMIT_NUM_FIELDS
threshold limits the number of items for each type to make the size more
......@@ -2621,7 +2645,7 @@ The default size is 10pt.
\anchor cfg_template_relations
<dt>\c TEMPLATE_RELATIONS <dd>
\addindex TEMPLATE_RELATIONS
If the \c TEMPLATE_RELATIONS and \c HAVE_DOT tags are set to \c YES then
If the \c TEMPLATE_RELATIONS and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then
doxygen will show the relations between templates and their instances.
\anchor cfg_hide_undoc_relations
......@@ -2634,7 +2658,9 @@ The default size is 10pt.
\anchor cfg_include_graph
<dt>\c INCLUDE_GRAPH <dd>
\addindex INCLUDE_GRAPH
If the \c ENABLE_PREPROCESSING, \c SEARCH_INCLUDES, \c INCLUDE_GRAPH, and \c HAVE_DOT
If the \ref cfg_enable_preprocessing "ENABLE_PREPROCESSING",
\ref cfg_search_includes "SEARCH_INCLUDES", \ref cfg_include_graph "INCLUDE_GRAPH",
and \ref cfg_have_dot "HAVE_DOT"
tags are set to \c 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.
......@@ -2642,41 +2668,42 @@ The default size is 10pt.
\anchor cfg_included_by_graph
<dt>\c INCLUDED_BY_GRAPH <dd>
\addindex INCLUDED_BY_GRAPH
If the \c ENABLE_PREPROCESSING, \c SEARCH_INCLUDES, \c INCLUDED_BY_GRAPH, and
\c HAVE_DOT tags are set to \c YES then doxygen will generate a graph for each
If the \ref cfg_enable_preprocessing "ENABLE_PREPROCESSING",
\ref cfg_search_includes "SEARCH_INCLUDES", \ref cfg_include_graph "INCLUDED_BY_GRAPH", and
\ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen will generate a graph for each
documented header file showing the documented files that directly or indirectly
include this file.
\anchor cfg_call_graph
<dt>\c CALL_GRAPH <dd>
\addindex CALL_GRAPH
If the \c CALL_GRAPH and \c HAVE_DOT tags are set to \c YES then doxygen will
If the \c CALL_GRAPH and \ref cfg_have_dot "HAVE_DOT" tags are set to \c 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.
functions only using the \ref cmdcallgraph "\\callgraph" command.
\anchor cfg_caller_graph
<dt>\c CALLER_GRAPH <dd>
\addindex CALLER_GRAPH
If the \c CALLER_GRAPH and \c HAVE_DOT tags are set to \c YES then doxygen will
If the \c CALLER_GRAPH and \ref cfg_have_dot "HAVE_DOT" tags are set to \c 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.
functions only using the \ref cmdcallergraph "\\callergraph" command.
\anchor cfg_graphical_hierarchy
<dt>\c GRAPHICAL_HIERARCHY <dd>
\addindex GRAPHICAL_HIERARCHY
If the \c GRAPHICAL_HIERARCHY and \c HAVE_DOT tags are set to \c YES then
If the \c GRAPHICAL_HIERARCHY and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then
doxygen will graphical hierarchy of all classes instead of a textual one.
\anchor cfg_directory_graph
<dt>\c DIRECTORY_GRAPH <dd>
\addindex DIRECTORY_GRAPH
If the \c DIRECTORY_GRAPH, and \c HAVE_DOT options are set
If the \c DIRECTORY_GRAPH, and \ref cfg_have_dot "HAVE_DOT" options are set
to \c 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
in a graphical way. The dependency relations are determined by the \c \#include
relations between the files in the directories.
\anchor cfg_dot_graph_max_nodes
......@@ -2688,43 +2715,43 @@ The default size is 10pt.
visualized by representing a node as a red box. Note that doxygen if the number
of direct children of the root node in a graph is already larger than
\c DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
that the size of a graph can be further restricted by \c MAX_DOT_GRAPH_DEPTH.
that the size of a graph can be further restricted by \ref cfg_max_dot_graph_depth "MAX_DOT_GRAPH_DEPTH".
\anchor cfg_max_dot_graph_depth
<dt>\c MAX_DOT_GRAPH_DEPTH <dd>
\addindex MAX_DOT_GRAPH_DEPTH
The \c 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
graphs generated by \c 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 the size of a graph can be further restricted by
\c DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction (the default).
\ref cfg_dot_graph_max_nodes "DOT_GRAPH_MAX_NODES". Using a depth of 0 means no depth restriction (the default).
\anchor cfg_dot_image_format
<dt>\c DOT_IMAGE_FORMAT <dd>
\addindex DOT_IMAGE_FORMAT
The \c DOT_IMAGE_FORMAT tag can be used to set the image format of the images
generated by dot. Possible values are svg, png, jpg, or gif.
generated by \c dot. Possible values are \c svg, \c png, \c jpg, or \c gif.
If left blank png will be used.
\note If you choose \c svg you need to set
HTML_FILE_EXTENSION to xhtml in order to make the SVG files
\ref cfg_html_file_extension "HTML_FILE_EXTENSION" to \c xhtml in order to make the SVG files
visible in IE 9+ (other browsers do not have this requirement).
\anchor cfg_interactive_svg
<dt>\c INTERACTIVE_SVG <dd>
If DOT_IMAGE_FORMAT is set to svg, then this option can be set to \c YES to
If \ref cfg_dot_image_format "DOT_IMAGE_FORMAT" is set to \c svg, then this option can be set to \c YES to
enable generation of interactive SVG images that allow zooming and panning.
Note that this requires a modern browser other than Internet Explorer.
Tested and working are Firefox, Chrome, Safari, and Opera.
\note For IE 9+ you need to set \c HTML_FILE_EXTENSION to xhtml in order
\note For IE 9+ you need to set \ref cfg_html_file_extension "HTML_FILE_EXTENSION" to xhtml in order
to make the SVG files visible. Older versions of IE do not have SVG support.
\anchor cfg_dot_path
<dt>\c DOT_PATH <dd>
\addindex DOT_PATH
This tag 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 on the path.
This tag can be used to specify the path where the \c dot tool can be found.
If left blank, it is assumed the \c dot tool can be found in the \c path.
\anchor cfg_dotfile_dirs
<dt>\c DOTFILE_DIRS <dd>
......@@ -2754,7 +2781,7 @@ The default size is 10pt.
\addindex DOT_MULTI_TARGET
Set the \c DOT_MULTI_TARGETS tag to \c 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)
makes \c dot run faster, but since only newer versions of \c dot (>1.8.10)
support this, this feature is disabled by default.
\anchor cfg_generate_legend
......@@ -2781,7 +2808,7 @@ Then a minimal configuration file is as simple as:
INPUT = example.cc example.h
\endverbatim
Assuming the example makes use of Qt classes and perl is located
Assuming the example makes use of Qt classes and \c perl is located
in <code>/usr/bin</code>, a more realistic configuration file would be:
\verbatim
PROJECT_NAME = Example
......
......@@ -274,7 +274,7 @@ documentation -> docs -> dox
generator -> gen
\endverbatim
At the time I was looking into lex and yacc, where a lot of things start with
At the time I was looking into \c lex and \c yacc, where a lot of things start with
"yy", so the "y" slipped in and made things pronounceable
(the proper pronouncement is Docs-ee-gen, so with a long "e").
......
......@@ -20,7 +20,7 @@ Here is a list of all HTML commands that may be used inside the
documentation. Note that although these HTML tags are translated to the
proper commands for output formats other than HTML, all attributes
of a HTML tag are passed on to the HTML output only
(the HREF and NAME attributes for the A tag are the only exception).
(the \c HREF and \c NAME attributes for the \c A tag are the only exception).
<ul>
<li><tt>\<A HREF="..."\></tt> Starts a hyperlink
......@@ -89,7 +89,7 @@ of a HTML tag are passed on to the HTML output only
<li><tt>\<SUB\></tt> Starts a piece of text displayed in subscript.
<li><tt>\</SUB\></tt> Ends a <tt>\<SUB\></tt> section.
<li><tt>\<SUP\></tt> Starts a piece of text displayed in superscript.
<li><tt>\</SUP\></tt> Ends a <tt>\</SUP\></tt> section.
<li><tt>\</SUP\></tt> Ends a <tt>\<SUP\></tt> section.
<li><tt>\<TABLE\></tt> starts a table.
<li><tt>\</TABLE\></tt> ends a table.
<li><tt>\<TD\></tt> Starts a new table data element.
......
......@@ -29,16 +29,16 @@ If you downloaded the source distribution, you need at least the
following to build the executable:
<ul>
<li>The <a href="ftp://prep.ai.mit.edu/pub/gnu/">GNU</a> tools
flex, bison and GNU make, and strip
\c flex, \c bison and <code>GNU make</code>, and \c strip
\addindex flex
\addindex bison
\addindex make
\addindex strip
<li>In order to generate a Makefile for your platform, you need
<li>In order to generate a \c Makefile for your platform, you need
<a href="http://www.perl.com/">perl</a>
\addindex perl
<li>The configure script assume the availability of standard UNIX tools such
as sed, date, find, uname, mv, cp, cat, echo, tr, cd, and rm.
as <code>sed, date, find, uname, mv, cp, cat, echo, tr, cd</code> and \c rm.
</ul>
To take full advantage of doxygen's features the following additional
......@@ -168,9 +168,9 @@ standard installation procedure that is required for these packages.
<b>Qt problems</b>
The Qt include files and libraries are not a subdirectory of the
directory pointed to by QTDIR on some systems
(for instance on Red Hat 6.0 includes are in /usr/include/qt and
libs are in /usr/lib).
directory pointed to by <code>QTDIR</code> on some systems
(for instance on Red Hat 6.0 includes are in <code>/usr/include/qt</code> and
libs are in <code>/usr/lib</code>).
The solution: go to the root of the doxygen distribution and do:
......@@ -181,96 +181,26 @@ The solution: go to the root of the doxygen distribution and do:
ln -s your-qt-bin-dir-here bin
export QTDIR=$PWD
If you have a csh-like shell you should use <code>setenv QTDIR \$PWD</code>
If you have a <code>csh</code>-like shell you should use <code>setenv QTDIR \$PWD</code>
instead of the <code>export</code> command above.
Now install doxygen as described above.
<b>Bison problems</b>
Versions 1.31 to 1.34 of bison contain a "bug" that results in a
Versions 1.31 to 1.34 of \c bison contain a "bug" that results in a
compiler errors like this:
ce_parse.cpp:348: member `class CPPValue yyalloc::yyvs' with
<code>ce_parse.cpp:348: member `class CPPValue yyalloc::yyvs' with </code>
constructor not allowed in union
This problem has been solved in version 1.35 (versions before 1.31
will also work).
<b>Latex problems</b>
The file <code>a4wide.sty</code> is not available for all distributions. If
your distribution does not have it please select another paper type
in the config file (see the \ref cfg_paper_type "PAPER_TYPE" tag in the
config file).
<b>HP-UX \& Digital UNIX problems</b>
If you are compiling for HP-UX with aCC and you get this error:
/opt/aCC/lbin/ld: Unsatisfied symbols:
alloca (code)
then you should (according to Anke Selig) edit <code>ce_parse.cpp</code>
and replace
extern "C" {
void *alloca (unsigned int);
};
with
#include <alloca.h>
If that does not help, try removing <code>ce_parse.cpp</code> and let
bison rebuild it (this worked for me).
If you are compiling for Digital UNIX, the same problem can be solved
(according to Barnard Schmallhof) by replacing the following in
ce_parse.cpp:
\verbatim
#else /* not GNU C. */
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi)
#include <alloca.h>
\endverbatim
with
\verbatim
#else /* not GNU C. */
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi) || defined (__osf__)
#include <alloca.h>
\endverbatim
Alternatively, one could fix the problem at the bison side.
Here is patch for bison.simple (provided by Andre Johansen):
\verbatim
--- bison.simple~ Tue Nov 18 11:45:53 1997
+++ bison.simple Mon Jan 26 15:10:26 1998
@@ -27,7 +27,7 @@
#ifdef __GNUC__
#define alloca __builtin_alloca
#else /* not GNU C. */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi)
+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi) || defined (__alpha)
#include <alloca.h>
#else /* not sparc */
#if defined (MSDOS) && !defined (__TURBOC__)
\endverbatim
The generated scanner.cpp that comes with doxygen is build with this
patch applied.
<b>Sun compiler problems</b>
It appears that doxygen doesn't work properly if it is compiled
with Sun's C++ WorkShop 6 Compiler. I cannot verify this myself as I do
with Sun's C++ WorkShop Compiler. I cannot verify this myself as I do
not have access to a Solaris machine with this compiler. With GNU compiler
it does work and installing Sun patch 111679-13 has also been reported
as a way to fix the problem.
......@@ -338,7 +268,7 @@ compile doxygen. Alternatively, you can compile doxygen
<a href="http://en.wikipedia.org/wiki/Cygwin">Cygwin</a>
or <a href="http://www.mingw.org/">MinGW</a>.
The next step is to install bison, flex, and tar
The next step is to install \c bison, \c flex, and \c tar
(see http://gnuwin32.sourceforge.net/packages.html).
This packages are needed during the
compilation process if you use a CVS snapshot of doxygen (the official source releases
......@@ -399,7 +329,7 @@ Here is what is required:
The good, tested, and free alternative is the <code>tar</code> utility
supplied with <a href="http://sourceware.cygnus.com/cygwin/">cygwin
tools</a>. Anyway, the cygwin's flex, bison, and sed are also
tools</a>. Anyway, the Cygwin's \c flex, \c bison, and \c sed are also
recommended below.
<li>Microsoft Visual C++ (I only tested with version 6.0).
......@@ -412,7 +342,7 @@ Here is what is required:
<li>Perl 5.0 or higher for Windows. This can be downloaded from:
http://www.ActiveState.com/Products/ActivePerl/
<li>The GNU tools flex, bison, and sed.
<li>The GNU tools \c flex, \c bison, and \c sed.
To get these working on Windows you should install the
<a href="http://sources.redhat.com/cygwin/">cygwin tools</a>
......
......@@ -242,7 +242,7 @@ when the translator was updated.
<td>Romanian</td>
<td>Ionut Dumitrascu<br/>Alexandru Iosup</td>
<td>reddumy at yahoo dot com<br/>aiosup at yahoo dot com</td>
<td>1.6.0</td>
<td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Russian</td>
......@@ -266,7 +266,7 @@ when the translator was updated.
<td>Slovak</td>
<td>Kali+Laco Švec<br/>Petr Přikryl</td>
<td><span style="color: brown">[the Slovak language advisors]</span><br/>prikryl at atlas dot cz</td>
<td>1.8.04</td>
<td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Slovene</td>
......@@ -403,7 +403,7 @@ when the translator was updated.
Portuguese & Rui Godinho Lopes & {\tt\tiny [resigned] rgl at ruilopes dot com} & 1.8.0 \\
~ & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino at uol dot com dot br} & ~ \\
\hline
Romanian & Ionut Dumitrascu & {\tt\tiny reddumy at yahoo dot com} & 1.6.0 \\
Romanian & Ionut Dumitrascu & {\tt\tiny reddumy at yahoo dot com} & up-to-date \\
~ & Alexandru Iosup & {\tt\tiny aiosup at yahoo dot com} & ~ \\
\hline
Russian & Alexandr Chelpanov & {\tt\tiny cav at cryptopro dot ru} & 1.7.5 \\
......@@ -412,7 +412,7 @@ when the translator was updated.
\hline
SerbianCyrilic & Nedeljko Stefanovic & {\tt\tiny stenedjo at yahoo dot com} & 1.6.0 \\
\hline
Slovak & Kali+Laco Švec & {\tt\tiny [the Slovak language advisors]} & 1.8.04 \\
Slovak & Kali+Laco Švec & {\tt\tiny [the Slovak language advisors]} & up-to-date \\
~ & Petr Přikryl & {\tt\tiny prikryl at atlas dot cz} & ~ \\
\hline
Slovene & Matjaž Ostroveršnik & {\tt\tiny matjaz dot ostroversnik at ostri dot org} & 1.4.6 \\
......
......@@ -140,7 +140,7 @@ has its own advantages and disadvantages:
If you develop for or want to install the Qt application framework,
you will get an application
called <a href="http://qt-project.org/doc/qt-4.8/assistant-manual.html">Qt assistant</a>.
This is a help viewer for Qt Compressed Help files (.qch).
This is a help viewer for Qt Compressed Help files (<code>.qch</code>).
To enable this feature set \ref cfg_generate_qhp "GENERATE_QHP" to \c YES.
You also need to fill in the other Qt help related options, such as
......
......@@ -163,10 +163,10 @@ doxygen <config-file>
\endverbatim
Depending on your settings doxygen will create \c html, \c rtf,
\c latex, \c xml and/or \c man directories inside the output directory.
\c latex, \c xml, \c man, and/or docbook directories inside the output directory.
As the names suggest these directories contain the
generated documentation in HTML, RTF, \f$\mbox{\LaTeX}\f$, XML and
Unix-Man page format.
generated documentation in HTML, RTF, \f$\mbox{\LaTeX}\f$, XML,
Unix-Man page, and DocBook format.
The default output directory is the directory in which \c doxygen
is started. The root directory to which the output is written can be changed
......@@ -174,7 +174,7 @@ using the \ref cfg_output_directory "OUTPUT_DIRECTORY". The format specific
directory within the output directory can be selected using the
\ref cfg_html_output "HTML_OUTPUT", \ref cfg_rtf_output "RTF_OUTPUT",
\ref cfg_latex_output "LATEX_OUTPUT", \ref cfg_xml_output "XML_OUTPUT",
and \ref cfg_man_output "MAN_OUTPUT"
\ref cfg_man_output "MAN_OUTPUT", and \ref cfg_docbook_output "DOCBOOK_OUTPUT".
tags of the configuration file. If the output directory does not exist,
\c doxygen will try to create it for you (but it will \e not try to create
a whole path recursively, like <code>mkdir -p</code> does).
......@@ -250,12 +250,19 @@ the XML output produced by doxygen in an incremental way
(see `addon/doxmlparser/include/doxmlintf.h` for the interface of the library)
\subsection man_out Man page output
\addindex man
The generated man pages can be viewed using the \c man program. You do need
to make sure the man directory is in the man path (see the \c MANPATH
environment variable). Note that there are some limitations to the
capabilities of the man page format, so some information
(like class diagrams, cross references and formulas) will be lost.
\subsection docbook_out DocBook output
\addindex docbook
Doxygen can also generate output in the
<a href="http://www.docbook.org/">DocBook</a> format. How to process the
DocBook output is beyond the scope of this manual.
\section step3 Step 3: Documenting the sources
Although documenting the sources is presented as step 3, in a new project
......
......@@ -10,7 +10,7 @@ Macedonian, Norwegian, Persian, Polish, Portuguese, Romanian, Russian,
Serbian, SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish,
Ukrainian, and Vietnamese.
Of them, 3 translators are up-to-date, 37 translators are based on
Of them, 5 translators are up-to-date, 35 translators are based on
some adapter class, and 2 are English based.
----------------------------------------------------------------------
......@@ -22,6 +22,8 @@ still may be some details listed even for them:
TranslatorEnglish
TranslatorKorean -- Change the base class to Translator.
TranslatorLatvian -- Reimplementation using UTF-8 suggested.
TranslatorRomanian -- Reimplementation using UTF-8 suggested.
TranslatorSlovak
----------------------------------------------------------------------
The following translator classes need some maintenance (the most
......@@ -35,9 +37,6 @@ must be implemented to become up-to-date:
TranslatorSpanish 1.8.04 8 methods to implement (3 %)
Note: Change the base class to TranslatorAdapter_1_8_4.
TranslatorSlovak 1.8.04 8 methods to implement (3 %)
Note: Change the base class to TranslatorAdapter_1_8_4.
TranslatorGreek 1.8.04 8 methods to implement (3 %)
Note: Change the base class to TranslatorAdapter_1_8_4.
......@@ -86,9 +85,6 @@ must be implemented to become up-to-date:
Note: Reimplementation using UTF-8 suggested.
TranslatorSerbianCyrilic 1.6.0 34 methods to implement (13 %)
TranslatorRomanian 1.6.0 34 methods to implement (13 %)
Note: Reimplementation using UTF-8 suggested.
TranslatorMacedonian 1.6.0 34 methods to implement (13 %)
TranslatorJapanese 1.6.0 33 methods to implement (13 %)
Note: Reimplementation using UTF-8 suggested.
......@@ -1134,47 +1130,10 @@ TranslatorPortuguese (TranslatorAdapter_1_8_0) 22 methods to implement (8 %)
virtual QCString trInstanceMethods()
TranslatorRomanian (TranslatorAdapter_1_6_0) 34 methods to implement (13 %)
TranslatorRomanian (Translator)
------------------
Implements 216 of the required methods (86 %).
Missing methods (should be implemented):
virtual QCString trDetailLevel()
virtual QCString trSearching()
virtual QCString trTemplateParameters()
virtual QCString trNoMatches()
virtual QCString trLoading()
virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime)
virtual QCString trServices()
virtual QCString trFileIn(const char * name)
virtual QCString trClassMethods()
virtual QCString trProvidedByCategory()
virtual QCString trSingletonGeneratedFromFiles(bool single)
virtual QCString trGlobalNamespace()
virtual QCString trServiceReference(const char * sName)
virtual QCString trDesignOverview()
virtual QCString trAndMore(const QCString & number)
virtual QCString trConstantGroups()
virtual QCString trDirDepGraph(const char * name)
virtual QCString trDirRelation(const char * name)
virtual QCString trMethodDocumentation()
virtual QCString trEnumReference(const char * name)
virtual QCString trInheritedFrom(const char * members, const char * what)
virtual QCString trCiteReferences()
virtual QCString trAdditionalInheritedMembers()
virtual QCString trDirDependency(const char * name)
virtual QCString trInterfaces()
virtual QCString trCopyright()
virtual QCString trIncludesFileIn(const char * name)
virtual QCString trServiceGeneratedFromFiles(bool single)
virtual QCString trEnumGeneratedFromFiles(bool single)
virtual QCString trConstantGroupReference(const char * namespaceName)
virtual QCString trPanelSynchronisationTooltip(bool enable)
virtual QCString trExtendsClass()
virtual QCString trSingletonReference(const char * sName)
virtual QCString trInstanceMethods()
Implements 250 of the required methods (100 %).
TranslatorRussian (TranslatorAdapter_1_7_5) 25 methods to implement (10 %)
......@@ -1297,23 +1256,6 @@ TranslatorSerbianCyrilic (TranslatorAdapter_1_6_0) 34 methods to implement (1
virtual QCString trInstanceMethods()
TranslatorSlovak (TranslatorAdapter_1_8_2) 8 methods to implement (3 %)
----------------
Implements 242 of the required methods (96 %).
Missing methods (should be implemented):
virtual QCString trServices()
virtual QCString trSingletonGeneratedFromFiles(bool single)
virtual QCString trServiceReference(const char * sName)
virtual QCString trConstantGroups()
virtual QCString trInterfaces()
virtual QCString trServiceGeneratedFromFiles(bool single)
virtual QCString trConstantGroupReference(const char * namespaceName)
virtual QCString trSingletonReference(const char * sName)
TranslatorSlovene (TranslatorAdapter_1_4_6) 58 methods to implement (23 %)
-----------------
......
......@@ -31,7 +31,7 @@
or unions with the same name in your code. It should not crash however,
rather it should ignore all of the classes with the same name except one.
<li>Some commands do not work inside the arguments of other commands.
Inside a HTML link (i.e. \<a href="..."\>...\<a\>) for instance
Inside a HTML link (i.e. \<a&nbsp;href="..."\>...\<a\>) for instance
other commands (including other HTML commands) do not work!
The sectioning commands are an important exception.
<li>Redundant braces can confuse doxygen in some cases.
......
......@@ -28,7 +28,7 @@ Here is the list of tags supported by doxygen:
<li><tt>\<c\></tt> Identifies inline text that should be rendered as a
piece of code. Similar to using <tt>\<tt\></tt>text<tt>\</tt\></tt>.
<li><tt>\<code\></tt> Set one or more lines of source code or program output.
Note that this command behaves like <tt>\\code ... \\endcode</tt>
Note that this command behaves like \ref cmdcode "\\code" ... \ref cmdendcode "\\endcode"
for C# code, but it behaves like the HTML equivalent
<tt>\<code\>...\</code\></tt> for other languages.
<li><tt>\<description\></tt> Part of a <tt>\<list\></tt> command, describes an item.
......
......@@ -40,8 +40,10 @@ ClangParser *ClangParser::s_instance = 0;
class ClangParser::Private
{
public:
enum DetectedLang { Detected_Cpp, Detected_ObjC, Detected_ObjCpp };
Private() : tu(0), tokens(0), numTokens(0), cursors(0),
ufs(0), sources(0), numFiles(0), fileMapping(257)
ufs(0), sources(0), numFiles(0), fileMapping(257),
detectedLang(Detected_Cpp)
{ fileMapping.setAutoDelete(TRUE); }
int getCurrentTokenLine();
CXIndex index;
......@@ -56,6 +58,7 @@ class ClangParser::Private
QCString *sources;
uint numFiles;
QDict<uint> fileMapping;
DetectedLang detectedLang;
};
static QCString detab(const QCString &s)
......@@ -112,28 +115,6 @@ static QCString detab(const QCString &s)
return out.get();
}
static QStrList getClangOptions()
{
static QCString clangOptions = Config_getString("CLANG_OPTIONS");
int p=0,i;
QStrList options;
while ((i=clangOptions.find(' ',p))!=-1)
{
QCString opt = clangOptions.mid(p,i-p).stripWhiteSpace();
if (!opt.isEmpty())
{
options.append(opt);
}
p=i+1;
}
QCString opt = clangOptions.right(clangOptions.length()-p).stripWhiteSpace();
if (!opt.isEmpty())
{
options.append(opt);
}
return options;
}
/** Callback function called for each include in a translation unit */
static void inclusionVisitor(CXFile includedFile,
CXSourceLocation* /*inclusionStack*/,
......@@ -177,7 +158,7 @@ void ClangParser::start(const char *fileName,QStrList &filesInTranslationUnit)
{
static bool clangAssistedParsing = Config_getBool("CLANG_ASSISTED_PARSING");
static QStrList &includePath = Config_getList("INCLUDE_PATH");
static QStrList clangOptions = getClangOptions();
static QStrList clangOptions = Config_getList("CLANG_OPTIONS");
if (!clangAssistedParsing) return;
//printf("ClangParser::start(%s)\n",fileName);
p->fileName = fileName;
......@@ -207,8 +188,43 @@ void ClangParser::start(const char *fileName,QStrList &filesInTranslationUnit)
}
// extra options
argv[argc++]=strdup("-ferror-limit=0");
argv[argc++]=strdup("-x"); // force C++
argv[argc++]=strdup("c++");
argv[argc++]=strdup("-x");
// Since we can be presented with a .h file that can contain C/C++ or
// Objective C code and we need to configure the parser before knowing this,
// we use the source file to detected the language. Detection will fail if you
// pass a bunch of .h files containing ObjC code, and no sources :-(
SrcLangExt lang = getLanguageFromFileName(fileName);
if (lang==SrcLangExt_ObjC || p->detectedLang!=ClangParser::Private::Detected_Cpp)
{
QCString fn = fileName;
if (p->detectedLang==ClangParser::Private::Detected_Cpp &&
(fn.right(4).lower()==".cpp" || fn.right(4).lower()==".cxx" ||
fn.right(3).lower()==".cc" || fn.right(2).lower()==".c"))
{ // fall back to C/C++ once we see an extension that indicates this
p->detectedLang = ClangParser::Private::Detected_Cpp;
}
else if (fn.right(3).lower()==".mm") // switch to Objective C++
{
p->detectedLang = ClangParser::Private::Detected_ObjCpp;
}
else if (fn.right(2).lower()==".m") // switch to Objective C
{
p->detectedLang = ClangParser::Private::Detected_ObjC;
}
}
switch(p->detectedLang)
{
case ClangParser::Private::Detected_Cpp:
argv[argc++]=strdup("c++");
break;
case ClangParser::Private::Detected_ObjC:
argv[argc++]=strdup("objective-c");
break;
case ClangParser::Private::Detected_ObjCpp:
argv[argc++]=strdup("objective-c++");
break;
}
// provide the input and and its dependencies as unsaved files so we can
// pass the filtered versions
......
......@@ -871,7 +871,7 @@ DOCNL "\n"|"\\_linebr"
LC "\\"{B}*"\n"
NW [^a-z_A-Z0-9]
FILESCHAR [a-z_A-Z0-9\x80-\xFF\\:\\\/\-\+@&#]
FILEECHAR [a-z_A-Z0-9\x80-\xFF\-\+]
FILEECHAR [a-z_A-Z0-9\x80-\xFF\-\+@&#]
FILE ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|("\""[^\n\"]*"\"")
ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]*
LABELID [a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF\-]*
......@@ -2528,6 +2528,11 @@ static bool handleEndIf(const QCString &)
delete guards.pop();
}
enabledSectionFound=FALSE;
if (g_spaceBeforeCmd)
{
addOutput(' ');
g_spaceBeforeCmd=FALSE;
}
BEGIN( GuardParamEnd );
return FALSE;
}
......
......@@ -1113,7 +1113,7 @@ void Config::check()
if (paperType!="a4" && paperType!="a4wide" && paperType!="letter" &&
paperType!="legal" && paperType!="executive")
{
config_err("Error: Unknown page type specified");
config_err("Error: Unknown page type specified\n");
}
QCString &outputLanguage=Config_getEnum("OUTPUT_LANGUAGE");
......@@ -1261,7 +1261,8 @@ void Config::check()
if (dotFontName=="FreeSans" || dotFontName=="FreeSans.ttf")
{
config_err("Warning: doxygen no longer ships with the FreeSans font.\n"
"You may want to clear DOT_FONTPATH or risk wrong fonts being used for dot generated graphs.\n");
"You may want to clear or change DOT_FONTPATH.\n"
"Otherwise you run the risk that the wrong font is being used for dot generated graphs.\n");
}
......
......@@ -344,7 +344,7 @@ symbols.
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
the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES
' defval='0'/>
<option type='bool' id='EXTRACT_PRIVATE' docs='
If the EXTRACT_PRIVATE tag is set to YES all private members of a class
......@@ -800,14 +800,14 @@ which an include is specified. Set to NO to disable this.
' defval='1'/>
<option type='bool' id='CLANG_ASSISTED_PARSING' setting='USE_LIBCLANG' docs='
If CLANG_ASSISTED_PARSING is set to YES, then doxygen will use the clang parser
for better parsing at the cost of reduced performance. This can be particularly
helpful with template rich C++ code for which doxygen&apos;s built-in
for more acurate parsing at the cost of reduced performance. This can be
particularly helpful with template rich C++ code for which doxygen&apos;s built-in
parser lacks the necessairy type information.
' defval='0'/>
<option type='string' id='CLANG_OPTIONS' setting='USE_LIBCLANG' docs='
<option type='list' id='CLANG_OPTIONS' setting='USE_LIBCLANG' docs='
If clang assisted parsing is enabled you can provide the compiler with command
line options that you would normally use when invoking the compiler. Note that
the include paths will be set by doxygen based on the files and directory
the include paths will already be set by doxygen for the files and directories
specified at INPUT and INCLUDE_PATH.
' defval='' depends='CLANG_ASSISTED_PARSING'/>
</group>
......@@ -821,13 +821,13 @@ contains a lot of classes, structs, unions or interfaces.
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])
' minval='1' maxval='20' defval='5'/>
' minval='1' maxval='20' defval='5' depends='ALPHABETICAL_INDEX'/>
<option type='list' id='IGNORE_PREFIX' format='string' docs='
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.
'>
' depends='ALPHABETICAL_INDEX'>
</option>
</group>
<group name='HTML' docs='configuration options related to the HTML output'>
......@@ -1112,13 +1112,13 @@ rendering instead of using prerendered bitmaps. Use this if you do not
have LaTeX installed or if you want to formulas look prettier in the HTML
output. When enabled you may also need to install MathJax separately and
configure the path to it using the MATHJAX_RELPATH option.
' defval='0'/>
' defval='0' depends='GENERATE_HTML'/>
<option type='enum' id='MATHJAX_FORMAT' defval='HTML-CSS' docs='
When MathJax is enabled you can set the default output format to be used for
the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and
SVG. The default value is HTML-CSS, which is slower, but has the best
compatibility.
'>
' depends='USE_MATHJAX'>
<value name="HTML-CSS"/>
<value name="NativeMML"/>
<value name="SVG"/>
......@@ -1132,7 +1132,7 @@ MATHJAX_RELPATH should be ../mathjax. The default value points to
the MathJax Content Delivery Network so you can quickly see the result without
installing MathJax. However, it is strongly recommended to install a local
copy of MathJax from http://www.mathjax.org before deployment.
' defval='http://cdn.mathjax.org/mathjax/latest'/>
' defval='http://cdn.mathjax.org/mathjax/latest' depends='USE_MATHJAX'/>
<option type='list' id='MATHJAX_EXTENSIONS' format='string' docs='
The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
names that should be enabled during MathJax rendering.
......@@ -1187,7 +1187,7 @@ When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the
EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
projects and redirect the results back to the right project.
' defval='' dependes='SEARCHENGINE'/>
' defval='' depends='SEARCHENGINE'/>
<option type='list' id='EXTRA_SEARCH_MAPPINGS' docs='
The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
projects other than the one defined by this configuration file, but that are
......@@ -1227,10 +1227,9 @@ save some trees in general.
<option type='enum' id='PAPER_TYPE' defval='a4' docs='
The PAPER_TYPE tag can be used to set the paper type that is used
by the printer. Possible values are: a4, letter, legal and
executive. If left blank a4wide will be used.
executive. If left blank a4 will be used.
' depends='GENERATE_LATEX'>
<value name='a4'/>
<value name='a4wide'/>
<value name='letter'/>
<value name='legal'/>
<value name='executive'/>
......@@ -1460,7 +1459,7 @@ pointed to by INCLUDE_PATH will be searched when a #include is found.
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.
' depends='ENABLE_PREPROCESSING'>
' depends='SEARCH_INCLUDES'>
</option>
<option type='list' id='INCLUDE_FILE_PATTERNS' format='string' docs='
You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
......@@ -1565,7 +1564,7 @@ allowed to run in parallel. When set to 0 (the default) doxygen will
base this on the number of processors available in the system. You can set it
explicitly to a value larger than 0 to get control over the balance
between CPU load and processing speed.
' defval='0' minval='0' maxval='32' dependes='HAVE_DOT'/>
' defval='0' minval='0' maxval='32' depends='HAVE_DOT'/>
<option type='string' id='DOT_FONTNAME' format='string' docs='
By default doxygen will use the Helvetica font for all dot files that
doxygen generates. When you want a differently looking font you can specify
......
......@@ -484,7 +484,7 @@ void addConfigOptions(Config *cfg)
"If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in\n"
"documentation are documented, even if no documentation was available.\n"
"Private class members and static file members will be hidden unless\n"
"the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES",
"the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES",
FALSE
);
//----
......@@ -1138,8 +1138,8 @@ void addConfigOptions(Config *cfg)
cb = cfg->addBool(
"CLANG_ASSISTED_PARSING",
"If CLANG_ASSISTED_PARSING is set to YES, then doxygen will use the clang parser\n"
"for better parsing at the cost of reduced performance. This can be particularly\n"
"helpful with template rich C++ code for which doxygen's built-in\n"
"for more acurate parsing at the cost of reduced performance. This can be\n"
"particularly helpful with template rich C++ code for which doxygen's built-in\n"
"parser lacks the necessairy type information.",
FALSE
);
......@@ -1148,14 +1148,14 @@ void addConfigOptions(Config *cfg)
#endif
#if USE_LIBCLANG
//----
cs = cfg->addString(
cl = cfg->addList(
"CLANG_OPTIONS",
"If clang assisted parsing is enabled you can provide the compiler with command\n"
"line options that you would normally use when invoking the compiler. Note that\n"
"the include paths will be set by doxygen based on the files and directory\n"
"the include paths will already be set by doxygen for the files and directories\n"
"specified at INPUT and INCLUDE_PATH."
);
cs->addDependency("CLANG_ASSISTED_PARSING");
cl->addDependency("CLANG_ASSISTED_PARSING");
#else
cfg->addDisabled("CLANG_OPTIONS");
#endif
......@@ -1179,6 +1179,7 @@ void addConfigOptions(Config *cfg)
"in which this list will be split (can be a number in the range [1..20])",
1,20,5
);
ci->addDependency("ALPHABETICAL_INDEX");
//----
cl = cfg->addList(
"IGNORE_PREFIX",
......@@ -1187,6 +1188,7 @@ void addConfigOptions(Config *cfg)
"The IGNORE_PREFIX tag can be used to specify one or more prefixes that\n"
"should be ignored while generating the index headers."
);
cl->addDependency("ALPHABETICAL_INDEX");
//---------------------------------------------------------------------------
cfg->addInfo("HTML","configuration options related to the HTML output");
//---------------------------------------------------------------------------
......@@ -1644,6 +1646,7 @@ void addConfigOptions(Config *cfg)
"configure the path to it using the MATHJAX_RELPATH option.",
FALSE
);
cb->addDependency("GENERATE_HTML");
//----
ce = cfg->addEnum(
"MATHJAX_FORMAT",
......@@ -1656,6 +1659,7 @@ void addConfigOptions(Config *cfg)
ce->addValue("HTML-CSS");
ce->addValue("NativeMML");
ce->addValue("SVG");
ce->addDependency("USE_MATHJAX");
//----
cs = cfg->addString(
"MATHJAX_RELPATH",
......@@ -1670,6 +1674,7 @@ void addConfigOptions(Config *cfg)
"copy of MathJax from http://www.mathjax.org before deployment."
);
cs->setDefaultValue("http://cdn.mathjax.org/mathjax/latest");
cs->addDependency("USE_MATHJAX");
//----
cl = cfg->addList(
"MATHJAX_EXTENSIONS",
......@@ -1751,6 +1756,7 @@ void addConfigOptions(Config *cfg)
"useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple\n"
"projects and redirect the results back to the right project."
);
cs->addDependency("SEARCHENGINE");
//----
cl = cfg->addList(
"EXTRA_SEARCH_MAPPINGS",
......@@ -1819,11 +1825,10 @@ void addConfigOptions(Config *cfg)
"PAPER_TYPE",
"The PAPER_TYPE tag can be used to set the paper type that is used\n"
"by the printer. Possible values are: a4, letter, legal and\n"
"executive. If left blank a4wide will be used.",
"executive. If left blank a4 will be used.",
"a4"
);
ce->addValue("a4");
ce->addValue("a4wide");
ce->addValue("letter");
ce->addValue("legal");
ce->addValue("executive");
......@@ -2196,7 +2201,7 @@ void addConfigOptions(Config *cfg)
"contain include files that are not input files but should be processed by\n"
"the preprocessor."
);
cl->addDependency("ENABLE_PREPROCESSING");
cl->addDependency("SEARCH_INCLUDES");
cl->setWidgetType(ConfigList::Dir);
//----
cl = cfg->addList(
......@@ -2350,6 +2355,7 @@ void addConfigOptions(Config *cfg)
"between CPU load and processing speed.",
0,32,0
);
ci->addDependency("HAVE_DOT");
//----
cs = cfg->addString(
"DOT_FONTNAME",
......
......@@ -4403,10 +4403,6 @@ int DocAutoListItem::parse()
int retval = RetVal_OK;
g_nodeStack.push(this);
//retval=m_paragraph->parse();
//m_paragraph->markFirst();
//m_paragraph->markLast();
// first parse any number of paragraphs
bool isFirst=TRUE;
DocPara *lastPar=0;
......
......@@ -338,7 +338,7 @@ ATTRIB {ATTRNAME}{WS}*("="{WS}*(("\""[^\"]*"\"")|("'"[^\']*"'")|[^ \t\r\n'"><
URLCHAR [a-z_A-Z0-9\!\~\,\:\;\'\$\?\@\&\%\#\.\-\+\/\=]
URLMASK ({URLCHAR}+([({]{URLCHAR}*[)}])?)+
FILESCHAR [a-z_A-Z0-9\\:\\\/\-\+@&#]
FILEECHAR [a-z_A-Z0-9\-\+]
FILEECHAR [a-z_A-Z0-9\-\+@&#]
HFILEMASK ("."{FILESCHAR}*{FILEECHAR}+)*
FILEMASK ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|{HFILEMASK}
LINKMASK [^ \t\n\r\\@<&${}]+("("[^\n)]*")")?({BLANK}*("const"|"volatile"){BLANK}+)?
......@@ -690,34 +690,37 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3}
g_token->name = yytext;
return TK_COMMAND;
}
<St_Para>({BLANK}*\n)+{BLANK}*\n/{LISTITEM} { /* skip trailing paragraph followed by new list item */
if (g_insidePre)
{
REJECT;
}
}
<St_Para>({BLANK}*\n)+{BLANK}*\n/{MLISTITEM} { /* skip trailing paragraph followed by new list item */
if (!Doxygen::markdownSupport || g_insidePre)
{
REJECT;
}
}
<St_Para>({BLANK}*\n)+{BLANK}*\n/{OLISTITEM} { /* skip trailing paragraph followed by new list item */
if (!Doxygen::markdownSupport || g_insidePre)
{
REJECT;
}
}
<St_Para>({BLANK}*\n)+{BLANK}*\n{BLANK}* {
// g_insidePre was always FALSE, so the next section
// was never executed, now g_insidePre is set properly
// again, so the section is commented out to keep the
// old behavior.
//if (g_insidePre)
//{
// /* Inside a <pre>..</pre> blank lines are treated
// * as whitespace.
// */
// g_token->chars=yytext;
// return TK_WHITESPACE;
//}
//else // found end of a paragraph
{
g_token->indent=computeIndent(yytext,(int)yyleng);
int i;
// put back the indentation (needed for list items)
for (i=0;i<g_token->indent;i++)
{
unput(' ');
}
// tell flex that after putting the last indent
// back we are at the beginning of the line
YY_CURRENT_BUFFER->yy_at_bol=1;
// start of a new paragraph
return TK_NEWPARA;
}
g_token->indent=computeIndent(yytext,(int)yyleng);
int i;
// put back the indentation (needed for list items)
for (i=0;i<g_token->indent;i++)
{
unput(' ');
}
// tell flex that after putting the last indent
// back we are at the beginning of the line
YY_CURRENT_BUFFER->yy_at_bol=1;
// start of a new paragraph
return TK_NEWPARA;
}
<St_CodeOpt>{BLANK}*"{"(".")?{LABELID}"}" {
g_token->name = yytext;
......
......@@ -11249,8 +11249,9 @@ void generateOutput()
if (Config_getBool("GENERATE_LEGEND"))
{
msg("Generating graph info page...\n");
g_s.begin("Generating graph info page...\n");
writeGraphInfo(*g_outputList);
g_s.end();
}
g_s.begin("Generating directory documentation...\n");
......
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{doxygen}
% Packages used by this style file
\RequirePackage{alltt}
\RequirePackage{array}
\RequirePackage{calc}
\RequirePackage{float}
\RequirePackage{ifthen}
\RequirePackage{verbatim}
\RequirePackage[table]{xcolor}
\RequirePackage{xtab}
%---------- Internal commands used in this style file ----------------
\newcommand{\ensurespace}[1]{%
\begingroup%
\setlength{\dimen@}{#1}%
\vskip\z@\@plus\dimen@%
\penalty -100\vskip\z@\@plus -\dimen@%
\vskip\dimen@%
\penalty 9999%
\vskip -\dimen@%
\vskip\z@skip% hide the previous |\vskip| from |\addvspace|
\endgroup%
}
\newcommand{\DoxyLabelFont}{}
\newcommand{\entrylabel}[1]{%
{%
\parbox[b]{\labelwidth-4pt}{%
\makebox[0pt][l]{\DoxyLabelFont#1}%
\vspace{1.5\baselineskip}%
}%
}%
}
\newenvironment{DoxyDesc}[1]{%
\ensurespace{4\baselineskip}%
\begin{list}{}{%
\settowidth{\labelwidth}{20pt}%
\setlength{\parsep}{0pt}%
\setlength{\itemsep}{0pt}%
\setlength{\leftmargin}{\labelwidth+\labelsep}%
\renewcommand{\makelabel}{\entrylabel}%
}%
\item[#1]%
}{%
\end{list}%
}
\newsavebox{\xrefbox}
\newlength{\xreflength}
\newcommand{\xreflabel}[1]{%
\sbox{\xrefbox}{#1}%
\setlength{\xreflength}{\wd\xrefbox}%
\ifthenelse{\xreflength>\labelwidth}{%
\begin{minipage}{\textwidth}%
\setlength{\parindent}{0pt}%
\hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
\end{minipage}%
}{%
\parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
}%
}
%---------- Commands used by doxygen LaTeX output generator ----------
% Used by <pre> ... </pre>
\newenvironment{DoxyPre}{%
\small%
\begin{alltt}%
}{%
\end{alltt}%
\normalsize%
}
% Used by @code ... @endcode
\newenvironment{DoxyCode}{%
\par%
\scriptsize%
\begin{alltt}%
}{%
\end{alltt}%
\normalsize%
}
% Used by @example, @include, @includelineno and @dontinclude
\newenvironment{DoxyCodeInclude}{%
\DoxyCode%
}{%
\endDoxyCode%
}
% Used by @verbatim ... @endverbatim
\newenvironment{DoxyVerb}{%
\footnotesize%
\verbatim%
}{%
\endverbatim%
\normalsize%
}
% Used by @verbinclude
\newenvironment{DoxyVerbInclude}{%
\DoxyVerb%
}{%
\endDoxyVerb%
}
% Used by numbered lists (using '-#' or <ol> ... </ol>)
\newenvironment{DoxyEnumerate}{%
\enumerate%
}{%
\endenumerate%
}
% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
\newenvironment{DoxyItemize}{%
\itemize%
}{%
\enditemize%
}
% Used by description lists (using <dl> ... </dl>)
\newenvironment{DoxyDescription}{%
\description%
}{%
\enddescription%
}
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
% (only if caption is specified)
\newenvironment{DoxyImage}{%
\begin{figure}[H]%
\begin{center}%
}{%
\end{center}%
\end{figure}%
}
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
% (only if no caption is specified)
\newenvironment{DoxyImageNoCaption}{%
}{%
}
% Used by @attention
\newenvironment{DoxyAttention}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @author and @authors
\newenvironment{DoxyAuthor}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @date
\newenvironment{DoxyDate}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @invariant
\newenvironment{DoxyInvariant}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @note
\newenvironment{DoxyNote}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @post
\newenvironment{DoxyPostcond}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @pre
\newenvironment{DoxyPrecond}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @copyright
\newenvironment{DoxyCopyright}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @remark
\newenvironment{DoxyRemark}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @return and @returns
\newenvironment{DoxyReturn}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @since
\newenvironment{DoxySince}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @see
\newenvironment{DoxySeeAlso}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @version
\newenvironment{DoxyVersion}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @warning
\newenvironment{DoxyWarning}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @internal
\newenvironment{DoxyInternal}[1]{%
\paragraph*{#1}%
}{%
}
% Used by @par and @paragraph
\newenvironment{DoxyParagraph}[1]{%
\begin{list}{}{%
\settowidth{\labelwidth}{40pt}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\parsep}{0pt}%
\setlength{\itemsep}{-4pt}%
\renewcommand{\makelabel}{\entrylabel}%
}%
\item[#1]%
}{%
\end{list}%
}
% Used by parameter lists
\newenvironment{DoxyParams}[2][]{%
\par%
\tabletail{\hline}%
\tablelasttail{\hline}%
\tablefirsthead{}%
\tablehead{}%
\ifthenelse{\equal{#1}{}}%
{\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
p{0.805\textwidth}|}}%
{\ifthenelse{\equal{#1}{1}}%
{\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
\begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
p{0.678\textwidth}|}}%
{\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
\begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
>{\centering\hspace{0pt}}p{0.15\textwidth}|%
>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
p{0.501\textwidth}|}}%
}\hline%
}{%
\end{xtabular}%
\tablefirsthead{}%
\vspace{6pt}%
}
% Used for fields of simple structs
\newenvironment{DoxyFields}[1]{%
\par%
\tabletail{\hline}%
\tablelasttail{\hline}%
\tablehead{}%
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
p{0.15\textwidth}|%
p{0.63\textwidth}|}%
\hline%
}{%
\end{xtabular}%
\tablefirsthead{}%
\vspace{6pt}%
}
% Used for parameters within a detailed function description
\newenvironment{DoxyParamCaption}{%
\renewcommand{\item}[2][]{##1 {\em ##2}}%
}{%
}
% Used by return value lists
\newenvironment{DoxyRetVals}[1]{%
\par%
\tabletail{\hline}%
\tablelasttail{\hline}%
\tablehead{}%
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
p{0.705\textwidth}|}%
\hline%
}{%
\end{xtabular}%
\tablefirsthead{}%
\vspace{6pt}%
}
% Used by exception lists
\newenvironment{DoxyExceptions}[1]{%
\par%
\tabletail{\hline}%
\tablelasttail{\hline}%
\tablehead{}%
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
p{0.705\textwidth}|}%
\hline%
}{%
\end{xtabular}%
\tablefirsthead{}%
\vspace{6pt}%
}
% Used by template parameter lists
\newenvironment{DoxyTemplParams}[1]{%
\par%
\tabletail{\hline}%
\tablelasttail{\hline}%
\tablehead{}%
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
p{0.705\textwidth}|}%
\hline%
}{%
\end{xtabular}%
\tablefirsthead{}%
\vspace{6pt}%
}
% Used for member lists
\newenvironment{DoxyCompactItemize}{%
\begin{itemize}%
\setlength{\itemsep}{-3pt}%
\setlength{\parsep}{0pt}%
\setlength{\topsep}{0pt}%
\setlength{\partopsep}{0pt}%
}{%
\end{itemize}%
}
% Used for member descriptions
\newenvironment{DoxyCompactList}{%
\begin{list}{}{%
\setlength{\leftmargin}{0.5cm}%
\setlength{\itemsep}{0pt}%
\setlength{\parsep}{0pt}%
\setlength{\topsep}{0pt}%
\renewcommand{\makelabel}{\hfill}%
}%
}{%
\end{list}%
}
% Used for reference lists (@bug, @deprecated, @todo, etc.)
\newenvironment{DoxyRefList}{%
\begin{list}{}{%
\setlength{\labelwidth}{10pt}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\renewcommand{\makelabel}{\xreflabel}%
}%
}{%
\end{list}%
}
% Used by @bug, @deprecated, @todo, etc.
\newenvironment{DoxyRefDesc}[1]{%
\begin{list}{}{%
\renewcommand\makelabel[1]{\textbf{##1}}%
\settowidth\labelwidth{\makelabel{#1}}%
\setlength\leftmargin{\labelwidth+\labelsep}%
}%
}{%
\end{list}%
}
% Used by parameter lists and simple sections
\newenvironment{Desc}
{\begin{list}{}{%
\settowidth{\labelwidth}{40pt}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\parsep}{0pt}%
\setlength{\itemsep}{-4pt}%
\renewcommand{\makelabel}{\entrylabel}%
}
}{%
\end{list}%
}
% Used by tables
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
\newlength{\tmplength}%
\newenvironment{TabularC}[1]%
{%
\setlength{\tmplength}%
{\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}%
\par\begin{xtabular*}{\linewidth}%
{*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}%
}%
{\end{xtabular*}\par}%
% Used for member group headers
\newenvironment{Indent}{%
\begin{list}{}{%
\setlength{\leftmargin}{0.5cm}%
}%
\item[]\ignorespaces%
}{%
\unskip%
\end{list}%
}
% Used when hyperlinks are turned off
\newcommand{\doxyref}[3]{%
\textbf{#1} (\textnormal{#2}\,\pageref{#3})%
}
% Used for syntax highlighting
\definecolor{comment}{rgb}{0.5,0.0,0.0}
\definecolor{keyword}{rgb}{0.0,0.5,0.0}
\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
"\\NeedsTeXFormat{LaTeX2e}\n"
"\\ProvidesPackage{doxygen}\n"
"\n"
"% Packages used by this style file\n"
"\\RequirePackage{alltt}\n"
"\\RequirePackage{array}\n"
"\\RequirePackage{calc}\n"
"\\RequirePackage{float}\n"
"\\RequirePackage{ifthen}\n"
"\\RequirePackage{verbatim}\n"
"\\RequirePackage[table]{xcolor}\n"
"\\RequirePackage{xtab}\n"
"\n"
"%---------- Internal commands used in this style file ----------------\n"
"\n"
"\\newcommand{\\ensurespace}[1]{%\n"
" \\begingroup%\n"
" \\setlength{\\dimen@}{#1}%\n"
" \\vskip\\z@\\@plus\\dimen@%\n"
" \\penalty -100\\vskip\\z@\\@plus -\\dimen@%\n"
" \\vskip\\dimen@%\n"
" \\penalty 9999%\n"
" \\vskip -\\dimen@%\n"
" \\vskip\\z@skip% hide the previous |\\vskip| from |\\addvspace|\n"
" \\endgroup%\n"
"}\n"
"\n"
"\\newcommand{\\DoxyLabelFont}{}\n"
"\\newcommand{\\entrylabel}[1]{%\n"
" {%\n"
" \\parbox[b]{\\labelwidth-4pt}{%\n"
" \\makebox[0pt][l]{\\DoxyLabelFont#1}%\n"
" \\vspace{1.5\\baselineskip}%\n"
" }%\n"
" }%\n"
"}\n"
"\n"
"\\newenvironment{DoxyDesc}[1]{%\n"
" \\ensurespace{4\\baselineskip}%\n"
" \\begin{list}{}{%\n"
" \\settowidth{\\labelwidth}{20pt}%\n"
" \\setlength{\\parsep}{0pt}%\n"
" \\setlength{\\itemsep}{0pt}%\n"
" \\setlength{\\leftmargin}{\\labelwidth+\\labelsep}%\n"
" \\renewcommand{\\makelabel}{\\entrylabel}%\n"
" }%\n"
" \\item[#1]%\n"
"}{%\n"
" \\end{list}%\n"
"}\n"
"\n"
"\\newsavebox{\\xrefbox}\n"
"\\newlength{\\xreflength}\n"
"\\newcommand{\\xreflabel}[1]{%\n"
" \\sbox{\\xrefbox}{#1}%\n"
" \\setlength{\\xreflength}{\\wd\\xrefbox}%\n"
" \\ifthenelse{\\xreflength>\\labelwidth}{%\n"
" \\begin{minipage}{\\textwidth}%\n"
" \\setlength{\\parindent}{0pt}%\n"
" \\hangindent=15pt\\bfseries #1\\vspace{1.2\\itemsep}%\n"
" \\end{minipage}%\n"
" }{%\n"
" \\parbox[b]{\\labelwidth}{\\makebox[0pt][l]{\\textbf{#1}}}%\n"
" }%\n"
"}\n"
"\n"
"%---------- Commands used by doxygen LaTeX output generator ----------\n"
"\n"
"% Used by <pre> ... </pre>\n"
"\\newenvironment{DoxyPre}{%\n"
" \\small%\n"
" \\begin{alltt}%\n"
"}{%\n"
" \\end{alltt}%\n"
" \\normalsize%\n"
"}\n"
"\n"
"% Used by @code ... @endcode\n"
"\\newenvironment{DoxyCode}{%\n"
" \\par%\n"
" \\scriptsize%\n"
" \\begin{alltt}%\n"
"}{%\n"
" \\end{alltt}%\n"
" \\normalsize%\n"
"}\n"
"\n"
"% Used by @example, @include, @includelineno and @dontinclude\n"
"\\newenvironment{DoxyCodeInclude}{%\n"
" \\DoxyCode%\n"
"}{%\n"
" \\endDoxyCode%\n"
"}\n"
"\n"
"% Used by @verbatim ... @endverbatim\n"
"\\newenvironment{DoxyVerb}{%\n"
" \\footnotesize%\n"
" \\verbatim%\n"
"}{%\n"
" \\endverbatim%\n"
" \\normalsize%\n"
"}\n"
"\n"
"% Used by @verbinclude\n"
"\\newenvironment{DoxyVerbInclude}{%\n"
" \\DoxyVerb%\n"
"}{%\n"
" \\endDoxyVerb%\n"
"}\n"
"\n"
"% Used by numbered lists (using '-#' or <ol> ... </ol>)\n"
"\\newenvironment{DoxyEnumerate}{%\n"
" \\enumerate%\n"
"}{%\n"
" \\endenumerate%\n"
"}\n"
"\n"
"% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)\n"
"\\newenvironment{DoxyItemize}{%\n"
" \\itemize%\n"
"}{%\n"
" \\enditemize%\n"
"}\n"
"\n"
"% Used by description lists (using <dl> ... </dl>)\n"
"\\newenvironment{DoxyDescription}{%\n"
" \\description%\n"
"}{%\n"
" \\enddescription%\n"
"}\n"
"\n"
"% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc\n"
"% (only if caption is specified)\n"
"\\newenvironment{DoxyImage}{%\n"
" \\begin{figure}[H]%\n"
" \\begin{center}%\n"
"}{%\n"
" \\end{center}%\n"
" \\end{figure}%\n"
"}\n"
"\n"
"% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc\n"
"% (only if no caption is specified)\n"
"\\newenvironment{DoxyImageNoCaption}{%\n"
"}{%\n"
"}\n"
"\n"
"% Used by @attention\n"
"\\newenvironment{DoxyAttention}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @author and @authors\n"
"\\newenvironment{DoxyAuthor}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @date\n"
"\\newenvironment{DoxyDate}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @invariant\n"
"\\newenvironment{DoxyInvariant}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @note\n"
"\\newenvironment{DoxyNote}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @post\n"
"\\newenvironment{DoxyPostcond}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @pre\n"
"\\newenvironment{DoxyPrecond}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @copyright\n"
"\\newenvironment{DoxyCopyright}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @remark\n"
"\\newenvironment{DoxyRemark}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @return and @returns\n"
"\\newenvironment{DoxyReturn}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @since\n"
"\\newenvironment{DoxySince}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @see\n"
"\\newenvironment{DoxySeeAlso}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @version\n"
"\\newenvironment{DoxyVersion}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @warning\n"
"\\newenvironment{DoxyWarning}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n"
"% Used by @internal\n"
"\\newenvironment{DoxyInternal}[1]{%\n"
" \\paragraph*{#1}%\n"
"}{%\n"
"}\n"
"\n"
"% Used by @par and @paragraph\n"
"\\newenvironment{DoxyParagraph}[1]{%\n"
" \\begin{list}{}{%\n"
" \\settowidth{\\labelwidth}{40pt}%\n"
" \\setlength{\\leftmargin}{\\labelwidth}%\n"
" \\setlength{\\parsep}{0pt}%\n"
" \\setlength{\\itemsep}{-4pt}%\n"
" \\renewcommand{\\makelabel}{\\entrylabel}%\n"
" }%\n"
" \\item[#1]%\n"
"}{%\n"
" \\end{list}%\n"
"}\n"
"\n"
"% Used by parameter lists\n"
"\\newenvironment{DoxyParams}[2][]{%\n"
" \\par%\n"
" \\tabletail{\\hline}%\n"
" \\tablelasttail{\\hline}%\n"
" \\tablefirsthead{}%\n"
" \\tablehead{}%\n"
" \\ifthenelse{\\equal{#1}{}}%\n"
" {\\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #2}\\\\[1ex]}%\n"
" \\begin{xtabular}{|>{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n"
" p{0.805\\textwidth}|}}%\n"
" {\\ifthenelse{\\equal{#1}{1}}%\n"
" {\\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #2}\\\\[1ex]}%\n"
" \\begin{xtabular}{|>{\\centering}p{0.10\\textwidth}|%\n"
" >{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n"
" p{0.678\\textwidth}|}}%\n"
" {\\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #2}\\\\[1ex]}%\n"
" \\begin{xtabular}{|>{\\centering}p{0.10\\textwidth}|%\n"
" >{\\centering\\hspace{0pt}}p{0.15\\textwidth}|%\n"
" >{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n"
" p{0.501\\textwidth}|}}%\n"
" }\\hline%\n"
"}{%\n"
" \\end{xtabular}%\n"
" \\tablefirsthead{}%\n"
" \\vspace{6pt}%\n"
"}\n"
"\n"
"% Used for fields of simple structs\n"
"\\newenvironment{DoxyFields}[1]{%\n"
" \\par%\n"
" \\tabletail{\\hline}%\n"
" \\tablelasttail{\\hline}%\n"
" \\tablehead{}%\n"
" \\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #1}\\\\[1ex]}%\n"
" \\begin{xtabular}{|>{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n"
" p{0.15\\textwidth}|%\n"
" p{0.63\\textwidth}|}%\n"
" \\hline%\n"
"}{%\n"
" \\end{xtabular}%\n"
" \\tablefirsthead{}%\n"
" \\vspace{6pt}%\n"
"}\n"
"\n"
"% Used for parameters within a detailed function description\n"
"\\newenvironment{DoxyParamCaption}{%\n"
" \\renewcommand{\\item}[2][]{##1 {\\em ##2}}%\n"
"}{%\n"
"}\n"
"\n"
"% Used by return value lists\n"
"\\newenvironment{DoxyRetVals}[1]{%\n"
" \\par%\n"
" \\tabletail{\\hline}%\n"
" \\tablelasttail{\\hline}%\n"
" \\tablehead{}%\n"
" \\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #1}\\\\[1ex]}%\n"
" \\begin{xtabular}{|>{\\raggedleft\\hspace{0pt}}p{0.25\\textwidth}|%\n"
" p{0.705\\textwidth}|}%\n"
" \\hline%\n"
"}{%\n"
" \\end{xtabular}%\n"
" \\tablefirsthead{}%\n"
" \\vspace{6pt}%\n"
"}\n"
"\n"
"% Used by exception lists\n"
"\\newenvironment{DoxyExceptions}[1]{%\n"
" \\par%\n"
" \\tabletail{\\hline}%\n"
" \\tablelasttail{\\hline}%\n"
" \\tablehead{}%\n"
" \\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #1}\\\\[1ex]}%\n"
" \\begin{xtabular}{|>{\\raggedleft\\hspace{0pt}}p{0.25\\textwidth}|%\n"
" p{0.705\\textwidth}|}%\n"
" \\hline%\n"
"}{%\n"
" \\end{xtabular}%\n"
" \\tablefirsthead{}%\n"
" \\vspace{6pt}%\n"
"}\n"
"\n"
"% Used by template parameter lists\n"
"\\newenvironment{DoxyTemplParams}[1]{%\n"
" \\par%\n"
" \\tabletail{\\hline}%\n"
" \\tablelasttail{\\hline}%\n"
" \\tablehead{}%\n"
" \\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #1}\\\\[1ex]}%\n"
" \\begin{xtabular}{|>{\\raggedleft\\hspace{0pt}}p{0.25\\textwidth}|%\n"
" p{0.705\\textwidth}|}%\n"
" \\hline%\n"
"}{%\n"
" \\end{xtabular}%\n"
" \\tablefirsthead{}%\n"
" \\vspace{6pt}%\n"
"}\n"
"\n"
"% Used for member lists\n"
"\\newenvironment{DoxyCompactItemize}{%\n"
" \\begin{itemize}%\n"
" \\setlength{\\itemsep}{-3pt}%\n"
" \\setlength{\\parsep}{0pt}%\n"
" \\setlength{\\topsep}{0pt}%\n"
" \\setlength{\\partopsep}{0pt}%\n"
"}{%\n"
" \\end{itemize}%\n"
"}\n"
"\n"
"% Used for member descriptions\n"
"\\newenvironment{DoxyCompactList}{%\n"
" \\begin{list}{}{%\n"
" \\setlength{\\leftmargin}{0.5cm}%\n"
" \\setlength{\\itemsep}{0pt}%\n"
" \\setlength{\\parsep}{0pt}%\n"
" \\setlength{\\topsep}{0pt}%\n"
" \\renewcommand{\\makelabel}{\\hfill}%\n"
" }%\n"
"}{%\n"
" \\end{list}%\n"
"}\n"
"\n"
"% Used for reference lists (@bug, @deprecated, @todo, etc.)\n"
"\\newenvironment{DoxyRefList}{%\n"
" \\begin{list}{}{%\n"
" \\setlength{\\labelwidth}{10pt}%\n"
" \\setlength{\\leftmargin}{\\labelwidth}%\n"
" \\addtolength{\\leftmargin}{\\labelsep}%\n"
" \\renewcommand{\\makelabel}{\\xreflabel}%\n"
" }%\n"
"}{%\n"
" \\end{list}%\n"
"}\n"
"\n"
"% Used by @bug, @deprecated, @todo, etc.\n"
"\\newenvironment{DoxyRefDesc}[1]{%\n"
" \\begin{list}{}{%\n"
" \\renewcommand\\makelabel[1]{\\textbf{##1}}%\n"
" \\settowidth\\labelwidth{\\makelabel{#1}}%\n"
" \\setlength\\leftmargin{\\labelwidth+\\labelsep}%\n"
" }%\n"
"}{%\n"
" \\end{list}%\n"
"}\n"
"\n"
"% Used by parameter lists and simple sections\n"
"\\newenvironment{Desc}\n"
"{\\begin{list}{}{%\n"
" \\settowidth{\\labelwidth}{40pt}%\n"
" \\setlength{\\leftmargin}{\\labelwidth}%\n"
" \\setlength{\\parsep}{0pt}%\n"
" \\setlength{\\itemsep}{-4pt}%\n"
" \\renewcommand{\\makelabel}{\\entrylabel}%\n"
" }\n"
"}{%\n"
" \\end{list}%\n"
"}\n"
"\n"
"% Used by tables\n"
"\\newcommand{\\PBS}[1]{\\let\\temp=\\\\#1\\let\\\\=\\temp}%\n"
"\\newlength{\\tmplength}%\n"
"\\newenvironment{TabularC}[1]%\n"
"{%\n"
"\\setlength{\\tmplength}%\n"
" {\\linewidth/(#1)-\\tabcolsep*2-\\arrayrulewidth*(#1+1)/(#1)}%\n"
" \\par\\begin{xtabular*}{\\linewidth}%\n"
" {*{#1}{|>{\\PBS\\raggedright\\hspace{0pt}}p{\\the\\tmplength}}|}%\n"
"}%\n"
"{\\end{xtabular*}\\par}%\n"
"\n"
"% Used for member group headers\n"
"\\newenvironment{Indent}{%\n"
" \\begin{list}{}{%\n"
" \\setlength{\\leftmargin}{0.5cm}%\n"
" }%\n"
" \\item[]\\ignorespaces%\n"
"}{%\n"
" \\unskip%\n"
" \\end{list}%\n"
"}\n"
"\n"
"% Used when hyperlinks are turned off\n"
"\\newcommand{\\doxyref}[3]{%\n"
" \\textbf{#1} (\\textnormal{#2}\\,\\pageref{#3})%\n"
"}\n"
"\n"
"% Used for syntax highlighting\n"
"\\definecolor{comment}{rgb}{0.5,0.0,0.0}\n"
"\\definecolor{keyword}{rgb}{0.0,0.5,0.0}\n"
"\\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}\n"
"\\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}\n"
"\\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}\n"
"\\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}\n"
"\\definecolor{charliteral}{rgb}{0.0,0.5,0.5}\n"
"\\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}\n"
"\\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}\n"
"\\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}\n"
"\\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}\n"
......@@ -37,6 +37,10 @@
#include "namespacedef.h"
#include "filename.h"
static const char doxygenLatexStyle[] =
#include "doxygen_sty.h"
;
//static QCString filterTitle(const char *s)
//{
// QCString tmp=s,result;
......@@ -505,470 +509,7 @@ static void writeDefaultHeaderPart3(FTextStream &t)
static void writeDefaultStyleSheet(FTextStream &t)
{
// part 1
t << "\\NeedsTeXFormat{LaTeX2e}\n"
"\\ProvidesPackage{doxygen}\n"
"\n";
t << "% Packages used by this style file\n"
"\\RequirePackage{alltt}\n"
"\\RequirePackage{array}\n"
"\\RequirePackage{calc}\n"
"\\RequirePackage{float}\n"
"\\RequirePackage{ifthen}\n"
"\\RequirePackage{longtable}\n"
"\\RequirePackage{verbatim}\n"
"\\RequirePackage[table]{xcolor}\n"
"\\RequirePackage{xtab}\n"
"\n"
"\n";
t << "%---------- Internal commands used in this style file ----------------\n"
"\n";
t << "\\newcommand{\\ensurespace}[1]{%\n"
" \\begingroup%\n"
" \\setlength{\\dimen@}{#1}%\n"
" \\vskip\\z@\\@plus\\dimen@%\n"
" \\penalty -100\\vskip\\z@\\@plus -\\dimen@%\n"
" \\vskip\\dimen@%\n"
" \\penalty 9999%\n"
" \\vskip -\\dimen@%\n"
" \\vskip\\z@skip% hide the previous |\\vskip| from |\\addvspace|\n"
" \\endgroup%\n"
"}\n"
"\n";
t << "\\newcommand{\\DoxyLabelFont}{}\n"
"\\newcommand{\\entrylabel}[1]{%\n"
" {%\n"
" \\parbox[b]{\\labelwidth-4pt}{%\n"
" \\makebox[0pt][l]{\\DoxyLabelFont#1}%\n"
" \\vspace{1.5\\baselineskip}%\n"
" }%\n"
" }%\n"
"}\n"
"\n";
t << "\\newenvironment{DoxyDesc}[1]{%\n"
" \\ensurespace{4\\baselineskip}%\n"
" \\begin{list}{}{%\n"
" \\settowidth{\\labelwidth}{40pt}%\n"
" \\setlength{\\leftmargin}{\\labelwidth}%\n"
" \\setlength{\\parsep}{0pt}%\n"
" \\setlength{\\itemsep}{-4pt}%\n"
" \\renewcommand{\\makelabel}{\\entrylabel}%\n"
" }%\n"
" \\item[#1]%\n"
"}{%\n"
" \\end{list}%\n"
"}\n"
"\n";
t << "\\newsavebox{\\xrefbox}\n"
"\\newlength{\\xreflength}\n"
"\\newcommand{\\xreflabel}[1]{%\n"
" \\sbox{\\xrefbox}{#1}%\n"
" \\setlength{\\xreflength}{\\wd\\xrefbox}%\n"
" \\ifthenelse{\\xreflength>\\labelwidth}{%\n"
" \\begin{minipage}{\\textwidth}%\n"
" \\setlength{\\parindent}{0pt}%\n"
" \\hangindent=15pt\\bfseries #1\\vspace{1.2\\itemsep}%\n"
" \\end{minipage}%\n"
" }{%\n"
" \\parbox[b]{\\labelwidth}{\\makebox[0pt][l]{\\textbf{#1}}}%\n"
" }%\n"
"}\n"
"\n"
"\n";
t << "%---------- Commands used by doxygen LaTeX output generator ----------\n"
"\n";
t << "% Used by <pre> ... </pre>\n"
"\\newenvironment{DoxyPre}{%\n"
" \\small%\n"
" \\begin{alltt}%\n"
"}{%\n"
" \\end{alltt}%\n"
" \\normalsize%\n"
"}\n"
"\n";
t << "% Used by @code ... @endcode\n"
"\\newenvironment{DoxyCode}{%\n"
" \\par%\n"
" \\scriptsize%\n"
" \\begin{alltt}%\n"
"}{%\n"
" \\end{alltt}%\n"
" \\normalsize%\n"
"}\n"
"\n";
t << "% Used by @example, @include, @includelineno and @dontinclude\n"
"\\newenvironment{DoxyCodeInclude}{%\n"
" \\DoxyCode%\n"
"}{%\n"
" \\endDoxyCode%\n"
"}\n"
"\n";
t << "% Used by @verbatim ... @endverbatim\n"
"\\newenvironment{DoxyVerb}{%\n"
" \\footnotesize%\n"
" \\verbatim%\n"
"}{%\n"
" \\endverbatim%\n"
" \\normalsize%\n"
"}\n"
"\n";
t << "% Used by @verbinclude\n"
"\\newenvironment{DoxyVerbInclude}{%\n"
" \\DoxyVerb%\n"
"}{%\n"
" \\endDoxyVerb%\n"
"}\n"
"\n";
t << "% Used by numbered lists (using '-#' or <ol> ... </ol>)\n"
"\\newenvironment{DoxyEnumerate}{%\n"
" \\enumerate%\n"
"}{%\n"
" \\endenumerate%\n"
"}\n"
"\n";
t << "% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)\n"
"\\newenvironment{DoxyItemize}{%\n"
" \\itemize%\n"
"}{%\n"
" \\enditemize%\n"
"}\n"
"\n";
t << "% Used by description lists (using <dl> ... </dl>)\n"
"\\newenvironment{DoxyDescription}{%\n"
" \\description%\n"
"}{%\n"
" \\enddescription%\n"
"}\n"
"\n";
t << "% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc\n"
"% (only if caption is specified)\n"
"\\newenvironment{DoxyImage}{%\n"
" \\begin{figure}[H]%\n"
" \\begin{center}%\n"
"}{%\n"
" \\end{center}%\n"
" \\end{figure}%\n"
"}\n"
"\n";
t << "% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc\n"
"% (only if no caption is specified)\n"
"\\newenvironment{DoxyImageNoCaption}{%\n"
"}{%\n"
"}\n"
"\n";
t << "% Used by @attention\n"
"\\newenvironment{DoxyAttention}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @author and @authors\n"
"\\newenvironment{DoxyAuthor}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @date\n"
"\\newenvironment{DoxyDate}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @invariant\n"
"\\newenvironment{DoxyInvariant}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @note\n"
"\\newenvironment{DoxyNote}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @post\n"
"\\newenvironment{DoxyPostcond}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @pre\n"
"\\newenvironment{DoxyPrecond}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @copyright\n"
"\\newenvironment{DoxyCopyright}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @remark\n"
"\\newenvironment{DoxyRemark}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @return and @returns\n"
"\\newenvironment{DoxyReturn}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @since\n"
"\\newenvironment{DoxySince}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @see\n"
"\\newenvironment{DoxySeeAlso}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @version\n"
"\\newenvironment{DoxyVersion}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @warning\n"
"\\newenvironment{DoxyWarning}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
"}{%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by @internal\n"
"\\newenvironment{DoxyInternal}[1]{%\n"
" \\paragraph*{#1}%\n"
"}{%\n"
"}\n"
"\n";
t << "% Used by @par and @paragraph\n"
"\\newenvironment{DoxyParagraph}[1]{%\n"
" \\begin{list}{}{%\n"
" \\settowidth{\\labelwidth}{40pt}%\n"
" \\setlength{\\leftmargin}{\\labelwidth}%\n"
" \\setlength{\\parsep}{0pt}%\n"
" \\setlength{\\itemsep}{-4pt}%\n"
" \\renewcommand{\\makelabel}{\\entrylabel}%\n"
" }%\n"
" \\item[#1]%\n"
"}{%\n"
" \\end{list}%\n"
"}\n"
"\n";
t << "% Used by parameter lists\n"
"\\newenvironment{DoxyParams}[2][]{%\n"
" \\begin{DoxyDesc}{#2}%\n"
" \\item[] \\hspace{\\fill} \\vspace{-25pt}%\n"
" \\settowidth{\\labelwidth}{40pt}%\n"
" \\setlength{\\LTleft}{0pt}%\n"
" \\setlength{\\tabcolsep}{0.01\\textwidth}%\n"
" \\ifthenelse{\\equal{#1}{}}%\n" // default: name, docs columns
" {\\begin{longtable}{|>{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n"
" p{0.815\\textwidth}|}}%\n"
" {\\ifthenelse{\\equal{#1}{1}}%\n" // inout, name, docs columns, or type, name, docs columns
" {\\begin{longtable}{|>{\\centering}p{0.10\\textwidth}|%\n"
" >{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n"
" p{0.685\\textwidth}|}}%\n"
" {\\begin{longtable}{|>{\\centering}p{0.10\\textwidth}|%\n" // inout, type, name, docs columns
" >{\\centering\\hspace{0pt}}p{0.15\\textwidth}|%\n"
" >{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n"
" p{0.515\\textwidth}|}}%\n"
" }\\hline%\n"
"}{%\n"
" \\end{longtable}%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used for fields of simple structs\n"
"\\newenvironment{DoxyFields}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
" \\item[] \\hspace{\\fill} \\vspace{-25pt}%\n"
" \\settowidth{\\labelwidth}{40pt}%\n"
" \\setlength{\\LTleft}{0pt}%\n"
" \\setlength{\\tabcolsep}{0.01\\textwidth}%\n"
" \\begin{longtable}{|>{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n"
" p{0.15\\textwidth}|%\n"
" p{0.635\\textwidth}|}%\n"
" \\hline%\n"
"}{%\n"
" \\end{longtable}%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used for parameters within a detailed function description\n"
"\\newenvironment{DoxyParamCaption}{%\n"
" \\renewcommand{\\item}[2][]{##1 {\\em ##2}}%\n"
"}{%\n"
"}\n"
"\n";
t << "% Used by return value lists\n"
"\\newenvironment{DoxyRetVals}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
" \\begin{description}%\n"
" \\item[] \\hspace{\\fill} \\vspace{-25pt}%\n"
" \\setlength{\\tabcolsep}{0.01\\textwidth}%\n"
" \\begin{longtable}{|>{\\raggedleft\\hspace{0pt}}p{0.25\\textwidth}|%\n"
" p{0.705\\textwidth}|}%\n"
" \\hline%\n"
"}{%\n"
" \\end{longtable}%\n"
" \\end{description}%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by exception lists\n"
"\\newenvironment{DoxyExceptions}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
" \\begin{description}%\n"
" \\item[] \\hspace{\\fill} \\vspace{-25pt}%\n"
" \\setlength{\\tabcolsep}{0.01\\textwidth}%\n"
" \\begin{longtable}{|>{\\raggedleft\\hspace{0pt}}p{0.25\\textwidth}|%\n"
" p{0.705\\textwidth}|}%\n"
" \\hline%\n"
"}{%\n"
" \\end{longtable}%\n"
" \\end{description}%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used by template parameter lists\n"
"\\newenvironment{DoxyTemplParams}[1]{%\n"
" \\begin{DoxyDesc}{#1}%\n"
" \\begin{description}%\n"
" \\item[] \\hspace{\\fill} \\vspace{-25pt}%\n"
" \\setlength{\\tabcolsep}{0.01\\textwidth}%\n"
" \\begin{longtable}{|>{\\raggedleft\\hspace{0pt}}p{0.25\\textwidth}|%\n"
" p{0.705\\textwidth}|}%\n"
" \\hline%\n"
"}{%\n"
" \\end{longtable}%\n"
" \\end{description}%\n"
" \\end{DoxyDesc}%\n"
"}\n"
"\n";
t << "% Used for member lists\n"
"\\newenvironment{DoxyCompactItemize}{%\n"
" \\begin{itemize}%\n"
" \\setlength{\\itemsep}{-3pt}%\n"
" \\setlength{\\parsep}{0pt}%\n"
" \\setlength{\\topsep}{0pt}%\n"
" \\setlength{\\partopsep}{0pt}%\n"
"}{%\n"
" \\end{itemize}%\n"
"}\n"
"\n";
t << "% Used for member descriptions\n"
"\\newenvironment{DoxyCompactList}{%\n"
" \\begin{list}{}{%\n"
" \\setlength{\\leftmargin}{0.5cm}%\n"
" \\setlength{\\itemsep}{0pt}%\n"
" \\setlength{\\parsep}{0pt}%\n"
" \\setlength{\\topsep}{0pt}%\n"
" \\renewcommand{\\makelabel}{\\hfill}%\n"
" }%\n"
"}{%\n"
" \\end{list}%\n"
"}\n"
"\n";
t << "% Used for reference lists (@bug, @deprecated, @todo, etc.)\n"
"\\newenvironment{DoxyRefList}{%\n"
" \\begin{list}{}{%\n"
" \\setlength{\\labelwidth}{10pt}%\n"
" \\setlength{\\leftmargin}{\\labelwidth}%\n"
" \\addtolength{\\leftmargin}{\\labelsep}%\n"
" \\renewcommand{\\makelabel}{\\xreflabel}%\n"
" }%\n"
"}{%\n"
" \\end{list}%\n"
"}\n"
"\n";
t << "% Used by @bug, @deprecated, @todo, etc.\n"
"\\newenvironment{DoxyRefDesc}[1]{%\n"
" \\begin{list}{}{%\n"
" \\renewcommand\\makelabel[1]{\\textbf{##1}}%\n"
" \\settowidth\\labelwidth{\\makelabel{#1}}%\n"
" \\setlength\\leftmargin{\\labelwidth+\\labelsep}%\n"
" }%\n"
"}{%\n"
" \\end{list}%\n"
"}\n"
"\n";
t << "% Used by parameter lists and simple sections\n"
"\\newenvironment{Desc}\n"
"{\\begin{list}{}{%\n"
" \\settowidth{\\labelwidth}{40pt}%\n"
" \\setlength{\\leftmargin}{\\labelwidth}%\n"
" \\setlength{\\parsep}{0pt}%\n"
" \\setlength{\\itemsep}{-4pt}%\n"
" \\renewcommand{\\makelabel}{\\entrylabel}%\n"
" }\n"
"}{%\n"
" \\end{list}%\n"
"}\n"
"\n";
t << "% Used by tables\n"
"\\newcommand{\\PBS}[1]{\\let\\temp=\\\\#1\\let\\\\=\\temp}\n"
"\\newlength{\\tmplength}\n"
"\\newenvironment{TabularC}[1]{%\n"
" \\setlength{\\tmplength}{%\n"
" \\linewidth/(#1)-\\tabcolsep*2-\\arrayrulewidth*(#1+1)/(#1)%\n"
" }%\n"
" \\par%\n"
" \\begin{xtabular*}{\\linewidth}{%\n"
" *{#1}{|>{\\PBS\\raggedright\\hspace{0pt}}p{\\the\\tmplength}}|%\n"
" }%\n"
"}{%\n"
" \\end{xtabular*}%\n"
" \\par%\n"
"}\n"
"\n";
t << "% Used for member group headers\n"
"\\newenvironment{Indent}{%\n"
" \\begin{list}{}{%\n"
" \\setlength{\\leftmargin}{0.5cm}%\n"
" }%\n"
" \\item[]\\ignorespaces%\n"
"}{%\n"
" \\unskip%\n"
" \\end{list}%\n"
"}\n"
"\n";
t << "% Used when hyperlinks are turned off\n"
"\\newcommand{\\doxyref}[3]{%\n"
" \\textbf{#1} (\\textnormal{#2}\\,\\pageref{#3})%\n"
"}\n"
"\n";
t << "% Used for syntax highlighting\n"
"\\definecolor{comment}{rgb}{0.5,0.0,0.0}\n"
"\\definecolor{keyword}{rgb}{0.0,0.5,0.0}\n"
"\\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}\n"
"\\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}\n"
"\\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}\n"
"\\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}\n"
"\\definecolor{charliteral}{rgb}{0.0,0.5,0.5}\n"
"\\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}\n"
"\\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}\n"
"\\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}\n"
"\\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}\n";
t << doxygenLatexStyle;
}
static void writeDefaultFooter(FTextStream &t)
......
......@@ -47,6 +47,7 @@ HEADERS = arguments.h \
doxygen.h \
doxygen_bst.h \
doxygen_css.h \
doxygen_sty.h \
eclipsehelp.h \
entry.h \
example.h \
......
......@@ -144,6 +144,9 @@ extsearch_js.h: extsearch.js
doxygen_css.h: doxygen.css
cat doxygen.css | $(TO_C_CMD) >doxygen_css.h
doxygen_sty.h: doxygen.sty
cat doxygen.sty | $(TO_C_CMD) >doxygen_sty.h
navtree_js.h: navtree.js
cat navtree.js | $(TO_C_CMD) >navtree_js.h
......
......@@ -1466,19 +1466,20 @@ int findTableColumns(const char *data,int size,int &start,int &end,int &columns)
// count columns between start and end
columns=0;
if (n==2) // table row has | ... |
{
columns++;
}
if (end>start)
{
i=start;
while (i<=end) // look for more column markers
{
if (data[i]=='|' && (i==0 || data[i-1]!='\\')) columns++;
if (columns==1) columns++; // first | make a non-table into a two column table
i++;
}
}
if (n==2 && columns==0) // table row has | ... |
{
columns++;
}
//printf("findTableColumns(start=%d,end=%d,columns=%d) eol=%d\n",
// start,end,columns,eol);
return eol;
......
......@@ -90,8 +90,9 @@ void PageDef::writeDocumentation(OutputList &ol)
static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW");
//outputList->disable(OutputGenerator::Man);
QCString pageName;
pageName=escapeCharsInString(name(),FALSE,TRUE);
QCString pageName,manPageName;
pageName = escapeCharsInString(name(),FALSE,TRUE);
manPageName = escapeCharsInString(name(),TRUE,TRUE);
//printf("PageDef::writeDocumentation: %s\n",getOutputFileBase().data());
......@@ -110,7 +111,15 @@ void PageDef::writeDocumentation(OutputList &ol)
ol.enable(OutputGenerator::Html);
}
ol.pushGeneratorState();
//2.{
ol.disableAllBut(OutputGenerator::Man);
startFile(ol,getOutputFileBase(),manPageName,title(),HLI_Pages,!generateTreeView);
ol.enableAll();
ol.disable(OutputGenerator::Man);
startFile(ol,getOutputFileBase(),pageName,title(),HLI_Pages,!generateTreeView);
ol.popGeneratorState();
//2.}
if (!generateTreeView)
{
......@@ -126,8 +135,8 @@ void PageDef::writeDocumentation(OutputList &ol)
ol.pushGeneratorState();
//2.{
ol.disableAllBut(OutputGenerator::Man);
ol.startTitleHead(pageName);
ol.endTitleHead(pageName, pageName);
ol.startTitleHead(manPageName);
ol.endTitleHead(manPageName, manPageName);
if (si)
{
ol.generateDoc(docFile(),docLine(),this,0,si->title,TRUE,FALSE,0,TRUE,FALSE);
......
......@@ -2522,6 +2522,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_ccomment=FALSE;
}
g_condCtx=YY_START;
startCondSection(" ");
BEGIN(SkipCond);
}
<SkipCond>\n { g_yyLineNr++; outputChar('\n'); }
......@@ -2940,6 +2941,7 @@ void preprocessFile(const char *fileName,BufStr &input,BufStr &output)
g_macroExpansion = Config_getBool("MACRO_EXPANSION");
g_expandOnlyPredef = Config_getBool("EXPAND_ONLY_PREDEF");
g_skip=FALSE;
g_curlyCount=0;
g_nospaces=FALSE;
g_inputBuf=&input;
......
......@@ -1119,6 +1119,10 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
current->type = "id";
}
current->name = yytext;
if (insideCpp || insideObjC)
{
current->id = ClangParser::instance()->lookup(yyLineNr,yytext);
}
}
<ObjCMethod>":"{B}* { // start of parameter list
current->name += ':';
......@@ -6074,6 +6078,10 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
docBlock.resize(docBlock.length() - 3);
lineCount();
}
<DocLine>{B}*"///"[/]+{B}*/"\n" { // ignore marker line (see bug700345)
handleCommentBlock(docBlock.data(),current->brief.isEmpty());
BEGIN( docBlockContext );
}
<DocLine>[^\n]*/"\n" { // whole line
docBlock+=yytext;
handleCommentBlock(docBlock.data(),current->brief.isEmpty());
......@@ -6833,7 +6841,8 @@ void CLanguageScanner::parseCode(CodeOutputInterface & codeOutIntf,
bool CLanguageScanner::needsPreprocessing(const QCString &extension)
{
QCString fe=extension.lower();
return
SrcLangExt lang = getLanguageFromFileName(extension);
return (SrcLangExt_Cpp == lang) ||
!( fe==".java" || fe==".as" || fe==".d" || fe==".php" ||
fe==".php4" || fe==".inc" || fe==".phtml"
);
......
......@@ -71,7 +71,7 @@ class TranslatorArabic : public TranslatorAdapter_1_4_6
/*! return the language charset. This will be used for the HTML output */
virtual QCString idLanguageCharset()
{
return "cp1256";
return "utf-8";
}
// --- Language translation methods -------------------
......
/******************************************************************************
*
*
*
*
* Copyright (C) 1997-2013 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
......@@ -20,12 +20,13 @@
*
* -------------------------------------------
* Project start : 20.09.2000
* Last Doxygen version covered : 1.5.8
* Last revision : 15.01.2009
* Last Doxygen version covered : 1.8.4
* Last revision : 17.05.2013
* -------------------------------------------
*
* Revision history
* ----------------
* 17.05.2013 - Updated translation to cover Doxygen 1.8.4 (Ionuț Dumitrașcu)
* 15.01.2009 - Updated Romanian translation to Doxygen 1.5.8 and modified strings to UTF-8, as well as some other changes (Ionuţ Dumitraşcu)
* 28.07.2008 - Updated version - covering Doxygen 1.5.6 - and some minor changes (Ionuţ Dumitraşcu)
*
......@@ -41,23 +42,23 @@
#define TRANSLATOR_RO_H
class TranslatorRomanian : public TranslatorAdapter_1_6_0
class TranslatorRomanian : public Translator
{
public:
// --- Language control methods -------------------
/*! Used for identification of the language. The identification
* should not be translated. It should be replaced by the name
/*! Used for identification of the language. The identification
* should not be translated. It should be replaced by the name
* of the language in English using lower-case characters only
* (e.g. "czech", "japanese", "russian", etc.). It should be equal to
* (e.g. "czech", "japanese", "russian", etc.). It should be equal to
* the identification used in language.cpp.
*/
virtual QCString idLanguage()
{ return "romanian"; }
/*! Used to get the LaTeX command(s) for the language support.
/*! Used to get the LaTeX command(s) for the language support.
* This method should return string with commands that switch
* LaTeX to the desired language. For example
* LaTeX to the desired language. For example
* <pre>"\\usepackage[german]{babel}\n"
* </pre>
* or
......@@ -65,7 +66,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
* "\\usepackage[latin2]{inputenc}\n"
* "\\usepackage[T1]{fontenc}\n"
* </pre>
*
*
* The English LaTeX does not use such commands. Because of this
* the empty string is returned in this implementation.
*/
......@@ -97,31 +98,31 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
/*! header that is put before the list of typedefs. */
virtual QCString trMemberTypedefDocumentation()
{ return "Documentaţia Definiţiilor de Tipuri (typedef) Membre"; }
/*! header that is put before the list of enumerations. */
virtual QCString trMemberEnumerationDocumentation()
{ return "Documentaţia Enumerărilor Membre"; }
/*! header that is put before the list of member functions. */
virtual QCString trMemberFunctionDocumentation()
{ return "Documentaţia Funcţiilor Membre"; }
/*! header that is put before the list of member attributes. */
virtual QCString trMemberDataDocumentation()
{
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Documentaţia Câmpurilor";
return "Documentaţia Câmpurilor";
}
else
{
return "Documentaţia Datelor Membre";
return "Documentaţia Datelor Membre";
}
}
/*! this is the text of a link put after brief descriptions. */
virtual QCString trMore()
virtual QCString trMore()
{ return "Mai mult..."; }
/*! put in the class documentation */
......@@ -139,65 +140,65 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
/*! this is the remainder of the sentence after the class name */
virtual QCString trIncludingInheritedMembers()
{ return ", inclusiv a tuturor membrilor moşteniţi."; }
/*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name.
*/
virtual QCString trGeneratedAutomatically(const char *s)
{ QCString result="Generat automat de Doxygen";
if (s) result+=(QCString)" pentru "+s;
result+=" din codul sursă.";
result+=" din codul sursă.";
return result;
}
/*! put after an enum name in the list of all members */
virtual QCString trEnumName()
{ return "nume enumerare"; }
/*! put after an enum value in the list of all members */
virtual QCString trEnumValue()
{ return "valoare enumerare"; }
/*! put after an undocumented member in the list of all members */
virtual QCString trDefinedIn()
{ return "definit în"; }
// quick reference sections
/*! This is put above each page as a link to the list of all groups of
/*! This is put above each page as a link to the list of all groups of
* compounds or files (see the \\group command).
*/
virtual QCString trModules()
{ return "Module"; }
/*! This is put above each page as a link to the class hierarchy */
virtual QCString trClassHierarchy()
{ return "Ierarhia Claselor"; }
/*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList()
{
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Structuri de Date";
}
else
{
return "Lista Claselor";
return "Lista Claselor";
}
}
/*! This is put above each page as a link to the list of documented files */
virtual QCString trFileList()
{ return "Lista fişierelor"; }
/*! This is put above each page as a link to all members of compounds. */
virtual QCString trCompoundMembers()
{
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Câmpurile de Date";
return "Câmpurile de Date";
}
else
{
......@@ -208,10 +209,10 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
/*! This is put above each page as a link to all members of files. */
virtual QCString trFileMembers()
{
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Globale";
return "Globale";
}
else
{
......@@ -250,15 +251,15 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
/*! This is an introduction to the annotated compound list. */
virtual QCString trCompoundListDescription()
{
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Lista structurilor de date, cu scurte descrieri:";
return "Lista structurilor de date, cu scurte descrieri:";
}
else
{
return "Lista claselor, structurilor, uniunilor şi interfeţelor"
", cu scurte descrieri:";
", cu scurte descrieri:";
}
}
......@@ -267,7 +268,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
virtual QCString trCompoundMembersDescription(bool extractAll)
{
QCString result="Lista tuturor ";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="câmpurilor ";
......@@ -281,7 +282,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
result+="din toate clasele ";
}
result+=", cu legături către ";
if (!extractAll)
if (!extractAll)
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
......@@ -292,7 +293,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
result+="documentaţia clasei pentru fiecare membru în parte:";
}
}
else
else
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
......@@ -303,7 +304,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
result+="clasele de care aparţin:";
}
}
return result;
}
......@@ -323,9 +324,9 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
result+="din toate fişierele";
}
result+=", cu legături către ";
if (extractAll)
if (extractAll)
result+="fişierele de care aparţin:";
else
else
result+="documentaţia aferentă:";
return result;
......@@ -343,37 +344,37 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
virtual QCString trModulesDescription()
{ return "Lista tuturor modulelor:"; }
// index titles (the project name is prepended for these)
// index titles (the project name is prepended for these)
/*! This is used in HTML as the title of index.html. */
virtual QCString trDocumentation()
{ return "Documentaţie"; }
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* index of all groups.
*/
virtual QCString trModuleIndex()
{ return "Indexul Modulelor"; }
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* class hierarchy.
*/
virtual QCString trHierarchicalIndex()
{ return "Index Ierarhic"; }
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* annotated compound index.
*/
virtual QCString trCompoundIndex()
{
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
{
return "Indexul Structurilor de Date";
}
else
{
return "Indexul Claselor";
return "Indexul Claselor";
}
}
......@@ -381,7 +382,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
/*! This is used in LaTeX as the title of the chapter with the
* list of all files.
*/
virtual QCString trFileIndex()
virtual QCString trFileIndex()
{ return "Indexul Fişierelor"; }
/*! This is used in LaTeX as the title of the chapter containing
......@@ -394,14 +395,14 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
* the documentation of all classes, structs and unions.
*/
virtual QCString trClassDocumentation()
{
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Documentaţia Structurilor de Date";
return "Documentaţia Structurilor de Date";
}
else
{
return "Documentaţia Claselor";
return "Documentaţia Claselor";
}
}
......@@ -427,106 +428,106 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
/*! This is used in LaTeX as the title of the document */
virtual QCString trReferenceManual()
{ return "Manual de utilizare"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of defines
*/
virtual QCString trDefines()
{ return "Definiţii"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of function prototypes
*/
virtual QCString trFuncProtos()
{ return "Prototipuri de funcţii"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of typedefs
*/
virtual QCString trTypedefs()
{ return "Definiţii de tipuri"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of enumerations
*/
virtual QCString trEnumerations()
{ return "Enumerări"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of (global) functions
*/
virtual QCString trFunctions()
{ return "Funcţii"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trVariables()
{ return "Variabile"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trEnumerationValues()
{ return "Valori de enumerări"; }
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
virtual QCString trDefineDocumentation()
{ return "Documentaţia definiţiilor"; }
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes
*/
virtual QCString trFunctionPrototypeDocumentation()
{ return "Documentaţia prototipurilor de funcţii"; }
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for typedefs
*/
virtual QCString trTypedefDocumentation()
{ return "Documentaţia definiţiilor de tipuri"; }
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types
*/
virtual QCString trEnumerationTypeDocumentation()
{ return "Documentaţia enumerărilor"; }
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
*/
virtual QCString trFunctionDocumentation()
{ return "Documentaţia funcţiilor"; }
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for variables
*/
virtual QCString trVariableDocumentation()
{ return "Documentaţia variabilelor"; }
/*! This is used in the documentation of a file/namespace/group before
/*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds
*/
virtual QCString trCompounds()
{
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Structuri de Date";
return "Structuri de Date";
}
else
{
return "Membri";
return "Membri";
}
}
/*! This is used in the standard footer of each page and indicates when
* the page was generated
/*! This is used in the standard footer of each page and indicates when
* the page was generated
*/
virtual QCString trGeneratedAt(const char *date,const char *projName)
{
{
QCString result=(QCString)"Generat "+date;
if (projName) result+=(QCString)" pentru "+projName;
result+=(QCString)" de către";
......@@ -544,7 +545,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
{
return (QCString)"Diagrama de relaţii pentru "+clName;
}
/*! this text is generated when the \\internal command is used. */
virtual QCString trForInternalUseOnly()
{ return "Doar pentru uz intern."; }
......@@ -576,13 +577,13 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
/*! this text is generated when the \\exception command is used. */
virtual QCString trExceptions()
{ return "Excepţii"; }
/*! this text is used in the title page of a LaTeX document. */
virtual QCString trGeneratedBy()
{ return "Generat de"; }
// new since 0.49-990307
/*! used as the title of page containing all the index of all namespaces. */
virtual QCString trNamespaceList()
{ return "Lista de Namespace-uri"; }
......@@ -602,17 +603,17 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
*/
virtual QCString trFriends()
{ return "Prieteni"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
//////////////////////////////////////////////////////////////////////////
/*! used in the class documentation as a header before the list of all
* related classes
* related classes
*/
virtual QCString trRelatedFunctionDocumentation()
{ return "Documentaţia funcţiilor prietene sau înrudite"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
//////////////////////////////////////////////////////////////////////////
......@@ -655,7 +656,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
result+=namespaceName;
return result;
}
/* these are for the member sections of a class, struct or union */
virtual QCString trPublicMembers()
{ return "Metode Publice"; }
......@@ -677,7 +678,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
{ return "Conectori (slots) Privaţi"; }
virtual QCString trStaticPrivateMembers()
{ return "Metode Statice Private"; }
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
*/
......@@ -686,23 +687,23 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
QCString result;
int i;
// the inherits list contain `numEntries' classes
for (i=0;i<numEntries;i++)
for (i=0;i<numEntries;i++)
{
// use generateMarker to generate placeholders for the class links!
result+=generateMarker(i); // generate marker for entry i in the list
result+=generateMarker(i); // generate marker for entry i in the list
// (order is left to right)
if (i!=numEntries-1) // not the last entry, so we need a separator
{
if (i<numEntries-2) // not the fore last entry
if (i<numEntries-2) // not the fore last entry
result+=", ";
else // the fore last entry
result+=" şi ";
}
}
return result;
return result;
}
/*! used in class documentation to produce a list of base classes,
* if class diagrams are disabled.
*/
......@@ -719,7 +720,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
return "Moştenit de "+trWriteList(numEntries)+".";
}
/*! used in member documentation blocks to produce a list of
/*! used in member documentation blocks to produce a list of
* members that are hidden by this one.
*/
virtual QCString trReimplementedFromList(int numEntries)
......@@ -741,18 +742,18 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
/*! This is an introduction to the page with all namespace members */
virtual QCString trNamespaceMemberDescription(bool extractAll)
{
{
QCString result="Lista tuturor membrilor ";
if (!extractAll) result+="documentaţi ";
result+="din toate namespace-urile, cu legături către ";
if (extractAll)
if (extractAll)
result+="documentaţia namespace-ului pentru fiecare membru în parte:";
else
else
result+="namespace-urile de care aparţin:";
return result;
}
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces.
*/
virtual QCString trNamespaceIndex()
......@@ -821,7 +822,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
virtual QCString trMainPage()
{ return "Pagina principală"; }
/*! This is used in references to page that are put in the LaTeX
/*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
*/
virtual QCString trPageAbbreviation()
......@@ -866,7 +867,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
/*! header that is put before the list of constructor/destructors. */
virtual QCString trConstructorDocumentation()
{
return "Documentaţia pentru Constructori şi Destructori";
return "Documentaţia pentru Constructori şi Destructori";
}
/*! Used in the file documentation to point to the corresponding sources. */
virtual QCString trGotoSourceCode()
......@@ -923,7 +924,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
//////////////////////////////////////////////////////////////////////////
// new since 1.1.0
//////////////////////////////////////////////////////////////////////////
virtual QCString trNote()
{
return "Notă";
......@@ -942,7 +943,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
{
return "Atribute Publice";
}
}
virtual QCString trStaticPublicAttribs()
{
......@@ -1013,7 +1014,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
{
return "Din";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.5
//////////////////////////////////////////////////////////////////////////
......@@ -1026,7 +1027,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
/*! page explaining how the dot graph's should be interpreted */
virtual QCString trLegendDocs()
{
return
return
"Această pagină arată modul în care trebuie să interpretaţi "
"grafurile generate de doxygen.<p>\n"
"Consideraţi următorul exemplu:\n"
......@@ -1088,11 +1089,11 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
{
return "legenda";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.0
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a test item */
virtual QCString trTest()
{
......@@ -1170,11 +1171,11 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
{
return "Valoare:";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \\bug item */
virtual QCString trBug()
{
......@@ -1190,9 +1191,9 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
// new since 1.2.6
//////////////////////////////////////////////////////////////////////////
/*! Used as ansicpg for RTF file
*
* The following table shows the correlation of Charset name, Charset Value and
/*! Used as ansicpg for RTF file
*
* The following table shows the correlation of Charset name, Charset Value and
* <pre>
* Codepage number:
* Charset Name Charset Value(hex) Codepage number
......@@ -1213,15 +1214,15 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
* GB2313_CHARSET 134 (x86) 936
* CHINESEBIG5_CHARSET 136 (x88) 950
* </pre>
*
*
*/
virtual QCString trRTFansicp()
{
return "1250"; //EASTEUROPE_CHARSET
}
/*! Used as ansicpg for RTF fcharset
/*! Used as ansicpg for RTF fcharset
* \see trRTFansicp() for a table of possible values.
*/
virtual QCString trRTFCharSet()
......@@ -1234,82 +1235,82 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
{
return "Index";
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trClass(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "Clas" : "clas"));
result+= singular ? "a":"ele";
return result;
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trFile(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "Fişier" : "fişier"));
result+= singular ? "ul":"ele";
return result;
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trNamespace(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "Namespace" : "namespace"));
result+= singular ? "-ul":"-urile";
return result;
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trGroup(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "Grupu" : "grupu"));
result+= singular ? "l":"rile";
return result;
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trPage(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "Pagin" : "pagin"));
result+= singular ? "a":"ile";
return result;
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trMember(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "Membr" : "membr"));
result+= singular ? "ul":"ii";
return result;
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trGlobal(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "Global" : "global"));
if (!singular) result+="e";
return result;
return result;
}
//////////////////////////////////////////////////////////////////////////
......@@ -1319,10 +1320,10 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
/*! This text is generated when the \\author command is used and
* for the author section in man pages. */
virtual QCString trAuthor(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "Autor" : "autor"));
result+= singular ? "ul":"ii";
return result;
return result;
}
//////////////////////////////////////////////////////////////////////////
......@@ -1340,7 +1341,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
// new since 1.2.13
//////////////////////////////////////////////////////////////////////////
/*! used in member documentation blocks to produce a list of
/*! used in member documentation blocks to produce a list of
* members that are implemented by this one.
*/
virtual QCString trImplementedFromList(int numEntries)
......@@ -1372,8 +1373,8 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
// new since 1.2.17
//////////////////////////////////////////////////////////////////////////
/*! Used as the header of the list of item that have been
* flagged deprecated
/*! Used as the header of the list of item that have been
* flagged deprecated
*/
virtual QCString trDeprecatedList()
{
......@@ -1384,7 +1385,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
// new since 1.2.18
//////////////////////////////////////////////////////////////////////////
/*! Used as a header for declaration section of the events found in
/*! Used as a header for declaration section of the events found in
* a C# program
*/
virtual QCString trEvents()
......@@ -1404,35 +1405,35 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
/*! Used as a heading for a list of Java class types with package scope.
*/
virtual QCString trPackageTypes()
{
{
return "Tipuri în pachet";
}
/*! Used as a heading for a list of Java class functions with package
* scope.
/*! Used as a heading for a list of Java class functions with package
* scope.
*/
virtual QCString trPackageMembers()
{
{
return "Funcţii în pachet";
}
/*! Used as a heading for a list of static Java class functions with
/*! Used as a heading for a list of static Java class functions with
* package scope.
*/
virtual QCString trStaticPackageMembers()
{
{
return "Funcţii statice în pachet";
}
/*! Used as a heading for a list of Java class variables with package
/*! Used as a heading for a list of Java class variables with package
* scope.
*/
virtual QCString trPackageAttribs()
{
{
return "Atribute în pachet";
}
/*! Used as a heading for a list of static Java class variables with
/*! Used as a heading for a list of static Java class variables with
* package scope.
*/
virtual QCString trStaticPackageAttribs()
{
{
return "Atribute statice în pachet";
}
......@@ -1440,7 +1441,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
// new since 1.3.1
//////////////////////////////////////////////////////////////////////////
/*! Used in the quick index of a class/file/namespace member list page
/*! Used in the quick index of a class/file/namespace member list page
* to link to the unfiltered list of all members.
*/
virtual QCString trAll()
......@@ -1457,9 +1458,9 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
// new since 1.3.3
//////////////////////////////////////////////////////////////////////////
/*! When the search engine is enabled this text is put in the header
* of each page before the field where one can enter the text to search
* for.
/*! When the search engine is enabled this text is put in the header
* of each page before the field where one can enter the text to search
* for.
*/
virtual QCString trSearchForIndex()
{
......@@ -1476,7 +1477,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
* text can be different depending on the number of documents found.
* Inside the text you can put the special marker $num to insert
* the number representing the actual number of search results.
* The @a numDocuments parameter can be either 0, 1 or 2, where the
* The @a numDocuments parameter can be either 0, 1 or 2, where the
* value 2 represents 2 or more matches. HTML markup is allowed inside
* the returned string.
*/
......@@ -1490,13 +1491,13 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
{
return "Am găsit <b>1</b> document corespunzând cererii.";
}
else
else
{
return "Am găsit <b>$num</b> documente corespunzând cererii. "
"Lista documentelor găsite, sortate după relevanţă.";
}
}
/*! This string is put before the list of matched words, for each search
/*! This string is put before the list of matched words, for each search
* result. What follows is the list of words that matched the query.
*/
virtual QCString trSearchMatches()
......@@ -1549,9 +1550,9 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
* directory is passed via \a dirName.
*/
virtual QCString trDirReference(const char *dirName)
{
QCString result="Director-referinţă "; result+=dirName;
return result;
{
QCString result="Director-referinţă "; result+=dirName;
return result;
}
/*! This returns the word directory with or without starting capital
......@@ -1588,7 +1589,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
return "Graful de apeluri pentru această funcţie:";
}
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual QCString trEnumerationValueDocumentation()
......@@ -1597,12 +1598,12 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
//////////////////////////////////////////////////////////////////////////
// new since 1.5.4 (mainly for Fortran)
//////////////////////////////////////////////////////////////////////////
/*! header that is put before the list of member subprograms (Fortran). */
virtual QCString trMemberFunctionDocumentationFortran()
{ return "Documentaţia Funcţiei Membre/Subrutinei"; }
/*! This is put above each page as a link to the list of annotated data types (Fortran). */
/*! This is put above each page as a link to the list of annotated data types (Fortran). */
virtual QCString trCompoundListFortran()
{ return "Lista Tipurilor de Date"; }
......@@ -1623,18 +1624,18 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
result+="documentate ";
}
result+=" cu legături către ";
if (!extractAll)
if (!extractAll)
{
result+="documentaţia structurii de date pentru fiecare membru";
}
else
else
{
result+="tipurile de date de care aparţin:";
}
return result;
}
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* annotated compound index (Fortran).
*/
virtual QCString trCompoundIndexFortran()
......@@ -1646,24 +1647,24 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
virtual QCString trTypeDocumentation()
{ return "Documentaţia Tipurilor de Date"; }
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of (global) subprograms (Fortran).
*/
virtual QCString trSubprograms()
{ return "Funcţii/Subrutine"; }
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for subprograms (Fortran)
*/
virtual QCString trSubprogramDocumentation()
{ return "Documentaţia Funcţiilor/Subrutinelor"; }
/*! This is used in the documentation of a file/namespace/group before
/*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds (Fortran)
*/
virtual QCString trDataTypes()
{ return "Tipuri de Date"; }
/*! used as the title of page containing all the index of all modules (Fortran). */
virtual QCString trModulesList()
{ return "Lista Modulelor"; }
......@@ -1705,44 +1706,44 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
result += namespaceName;
return result;
}
/*! This is put above each page as a link to all members of modules. (Fortran) */
virtual QCString trModulesMembers()
{ return "Membrii Modulului"; }
/*! This is an introduction to the page with all modules members (Fortran) */
virtual QCString trModulesMemberDescription(bool extractAll)
{
{
QCString result="Lista tuturor membrilor ";
if (!extractAll) result+="documentaţi ai ";
result+="modulului cu legături către ";
if (extractAll)
if (extractAll)
{
result+="documentaţia modulului pentru fiecare membru:";
}
else
else
{
result+="modulele de care aparţin:";
}
return result;
}
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* index of all modules (Fortran).
*/
virtual QCString trModulesIndex()
{ return "Indexul Modulelor"; }
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trModule(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "Modul" : "modul"));
if (singular) result+="ul";
else result += "ele";
return result;
return result;
}
/*! This is put at the bottom of a module documentation page and is
* followed by a list of files that were used to generate the page.
......@@ -1768,26 +1769,26 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trType(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "Tip" : "tip"));
if (singular) result+="ul";
else result += "urile";
return result;
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trSubprogram(bool first_capital, bool singular)
{
{
QCString result((first_capital ? "Subprogram" : "subprogram"));
if (singular) result+="ul";
else result += "urile";
return result;
else result += "ele";
return result;
}
/*! C# Type Constraint list */
......@@ -1795,7 +1796,279 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0
{
return "Constrângerile de Tip";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.6.0 (mainly for the new search engine)
//////////////////////////////////////////////////////////////////////////
/*! directory relation for \a name */
virtual QCString trDirRelation(const char *name)
{
return QCString(name)+" Relație";
}
/*! Loading message shown when loading search results */
virtual QCString trLoading()
{
return "Se încarcă...";
}
/*! Label used for search results in the global namespace */
virtual QCString trGlobalNamespace()
{
return "Namespace Global";
}
/*! Message shown while searching */
virtual QCString trSearching()
{
return "Căutare...";
}
/*! Text shown when no search results are found */
virtual QCString trNoMatches()
{
return "Niciun rezultat";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.6.3 (missing items for the directory pages)
//////////////////////////////////////////////////////////////////////////
/*! introduction text for the directory dependency graph */
virtual QCString trDirDependency(const char *name)
{
return (QCString)"Grafic de dependență a directoarelor pentru "+name;
}
/*! when clicking a directory dependency label, a page with a
* table is shown. The heading for the first column mentions the
* source file that has a relation to another file.
*/
virtual QCString trFileIn(const char *name)
{
return (QCString)"Fișierul din "+name;
}
/*! when clicking a directory dependency label, a page with a
* table is shown. The heading for the second column mentions the
* destination file that is included.
*/
virtual QCString trIncludesFileIn(const char *name)
{
return (QCString)"Include fișierul din "+name;
}
/** Compiles a date string.
* @param year Year in 4 digits
* @param month Month of the year: 1=January
* @param day Day of the Month: 1..31
* @param dayOfWeek Day of the week: 1=Monday..7=Sunday
* @param hour Hour of the day: 0..23
* @param minutes Minutes in the hour: 0..59
* @param seconds Seconds within the minute: 0..59
* @param includeTime Include time in the result string?
*/
virtual QCString trDateTime(int year,int month,int day,int dayOfWeek,
int hour,int minutes,int seconds,
bool includeTime)
{
static const char *days[] = { "Luni","Marți","Miercuri","Joi","Vineri","Sâmbătă","Duminică" };
static const char *months[] = { "Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Noi","Dec" };
QCString sdate;
sdate.sprintf("%s %s %d %d",days[dayOfWeek-1],months[month-1],day,year);
if (includeTime)
{
QCString stime;
stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds);
sdate+=stime;
}
return sdate;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.7.5
//////////////////////////////////////////////////////////////////////////
/*! Header for the page with bibliographic citations */
virtual QCString trCiteReferences()
{ return "Referințe Bibliografice"; }
/*! Text for copyright paragraph */
virtual QCString trCopyright()
{ return "Copyright"; }
/*! Header for the graph showing the directory dependencies */
virtual QCString trDirDepGraph(const char *name)
{ return QCString("Grafic de dependență a directoarelor pentru ")+name+":"; }
//////////////////////////////////////////////////////////////////////////
// new since 1.8.0
//////////////////////////////////////////////////////////////////////////
/*! Detail level selector shown for hierarchical indices */
virtual QCString trDetailLevel()
{ return "nivel de detaliu"; }
/*! Section header for list of template parameters */
virtual QCString trTemplateParameters()
{ return "Parametri Template"; }
/*! Used in dot graph when UML_LOOK is enabled and there are many fields */
virtual QCString trAndMore(const QCString &number)
{ return "și încă " + number; }
/*! Used file list for a Java enum */
virtual QCString trEnumGeneratedFromFiles(bool single)
{ QCString result = "Documentația pentru acest enum a fost generată din ";
if (single)
result += "următorul fișier:";
else
result += "următoarele fișiere:";
return result;
}
/*! Header of a Java enum page (Java enums are represented as classes). */
virtual QCString trEnumReference(const char *name)
{ return QCString(name)+" Referință Enum"; }
/*! Used for a section containing inherited members */
virtual QCString trInheritedFrom(const char *members,const char *what)
{ return QCString(members)+" moștenit(e) din "+what; }
/*! Header of the sections with inherited members specific for the
* base class(es)
*/
virtual QCString trAdditionalInheritedMembers()
{ return "Membri Moșteniți Adiționali"; }
//////////////////////////////////////////////////////////////////////////
// new since 1.8.2
//////////////////////////////////////////////////////////////////////////
/*! Used as a tooltip for the toggle button that appears in the
* navigation tree in the HTML output when GENERATE_TREEVIEW is
* enabled. This tooltip explains the meaning of the button.
*/
virtual QCString trPanelSynchronisationTooltip(bool enable)
{
QCString opt = enable ? "activa" : "dezactiva";
return "apasă 'click' pentru a "+opt+" sincronizarea panourilor";
}
/*! Used in a method of an Objective-C class that is declared in a
* a category. Note that the @1 marker is required and is replaced
* by a link.
*/
virtual QCString trProvidedByCategory()
{
return "Furnizat de categoria @1.";
}
/*! Used in a method of an Objective-C category that extends a class.
* Note that the @1 marker is required and is replaced by a link to
* the class method.
*/
virtual QCString trExtendsClass()
{
return "Extinde clasa @1.";
}
/*! Used as the header of a list of class methods in Objective-C.
* These are similar to static public member functions in C++.
*/
virtual QCString trClassMethods()
{
return "Metodele Clasei";
}
/*! Used as the header of a list of instance methods in Objective-C.
* These are similar to public member functions in C++.
*/
virtual QCString trInstanceMethods()
{
return "Metodele Instanței";
}
/*! Used as the header of the member functions of an Objective-C class.
*/
virtual QCString trMethodDocumentation()
{
return "Documentația Metodelor";
}
/*! Used as the title of the design overview picture created for the
* VHDL output.
*/
virtual QCString trDesignOverview()
{
return "Vedere de Ansamblu a Designului";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.8.4
//////////////////////////////////////////////////////////////////////////
/** old style UNO IDL services: implemented interfaces */
virtual QCString trInterfaces()
{ return "Interfețe exportate"; }
/** old style UNO IDL services: inherited services */
virtual QCString trServices()
{ return "Servicii Incluse"; }
/** UNO IDL constant groups */
virtual QCString trConstantGroups()
{ return "Grupuri Constante"; }
/** UNO IDL constant groups */
virtual QCString trConstantGroupReference(const char *namespaceName)
{
QCString result=namespaceName;
result+=" Referință Grup Constant";
return result;
}
/** UNO IDL service page title */
virtual QCString trServiceReference(const char *sName)
{
QCString result=(QCString)sName;
result+=" Referință Serviciu";
return result;
}
/** UNO IDL singleton page title */
virtual QCString trSingletonReference(const char *sName)
{
QCString result=(QCString)sName;
result+=" Referință Singleton";
return result;
}
/** UNO IDL service page */
virtual QCString trServiceGeneratedFromFiles(bool single)
{
// single is true implies a single file
QCString result=(QCString)"Documentația pentru acest serviciu "
"a fost generată din ";
if (single)
result += "următorul fișier:";
else
result += "următoarele fișiere:";
return result;
}
/** UNO IDL singleton page */
virtual QCString trSingletonGeneratedFromFiles(bool single)
{
// single is true implies a single file
QCString result=(QCString)"Documentația pentru acest singleton "
"a fost generată din ";
if (single)
result += "următorul fișier:";
else
result += "următoarele fișiere:";
return result;
}
//////////////////////////////////////////////////////////////////////////
};
#endif
......@@ -17,6 +17,7 @@
// Updates:
// --------
// 2013/05/14 - Updates for "new since 1.8.4".
// 2012/08/02 - Updates for "new since 1.8.2".
// 2012/04/18 - Updates for "new since 1.8.0".
// 2011/07/28 - Updates for "new since 1.7.5".
......@@ -31,7 +32,7 @@
#ifndef TRANSLATOR_SK_H
#define TRANSLATOR_SK_H
class TranslatorSlovak : public TranslatorAdapter_1_8_2
class TranslatorSlovak : public Translator
{
public:
// --- Language control methods -------------------
......@@ -1962,6 +1963,62 @@ class TranslatorSlovak : public TranslatorAdapter_1_8_2
return "Návrhová schéma";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.8.4
//////////////////////////////////////////////////////////////////////////
/** old style UNO IDL services: implemented interfaces */
virtual QCString trInterfaces()
{ return "Exportované rozhrania"; }
/** old style UNO IDL services: inherited services */
virtual QCString trServices()
{ return "Začlenené služby"; }
/** UNO IDL constant groups */
virtual QCString trConstantGroups()
{ return "Konštantné skupiny"; }
/** UNO IDL constant groups */
virtual QCString trConstantGroupReference(const char *namespaceName)
{
QCString result="Konštantné skupiny z ";
result += namespaceName;
return result;
}
/** UNO IDL service page title */
virtual QCString trServiceReference(const char *sName)
{
QCString result="Popis služby ";
result += sName;
return result;
}
/** UNO IDL singleton page title */
virtual QCString trSingletonReference(const char *sName)
{
QCString result="Popis singletonu ";
result += sName;
return result;
}
/** UNO IDL service page */
virtual QCString trServiceGeneratedFromFiles(bool single)
{
// single is true implies a single file
QCString result="Dokumentácia k tejto službe bola vygenerovaná ";
if (single) result+="z nasledujúceho súboru:";
else result+="z nasledujúcich súborov:";
return result;
}
/** UNO IDL singleton page */
virtual QCString trSingletonGeneratedFromFiles(bool single)
{
// single is true implies a single file
QCString result="Dokumentácia k tomuto singletonu bola vygenerovaná ";
if (single) result+="z nasledujúceho súboru:";
else result+="z nasledujúcich súborov:";
return result;
}
//////////////////////////////////////////////////////////////////////////
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment