summaryrefslogtreecommitdiff
path: root/doc/commands.doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/commands.doc')
-rw-r--r--doc/commands.doc2738
1 files changed, 2738 insertions, 0 deletions
diff --git a/doc/commands.doc b/doc/commands.doc
new file mode 100644
index 0000000..bf2b39c
--- /dev/null
+++ b/doc/commands.doc
@@ -0,0 +1,2738 @@
+/******************************************************************************
+ *
+ *
+ *
+ * Copyright (C) 1997-2011 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
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * Documents produced by Doxygen are derivative works derived from the
+ * input used in their production; they are not affected by this license.
+ *
+ */
+/*! \page commands Special Commands
+
+\section cmd_intro Introduction
+
+All commands in the documentation start with a backslash (<b>\\</b>) or an
+at-sign (<b>\@</b>). If you prefer you can replace all commands starting with a
+backslash below by their counterparts that start with an at-sign.
+
+Some commands have one or more arguments.
+Each argument has a certain range:
+<ul>
+<li>If \<sharp\> braces are used the argument is a single word.
+<li>If (round) braces are used the argument extends until the end of the line
+ on which the command was found.
+<li>If {curly} braces are used the argument extends until the next paragraph.
+ Paragraphs are delimited by a blank line or by a section indicator.
+</ul>
+If in addition to the aboveargument specifiers [square] brackets are used the argument is optional.
+
+Here is an alphabetically sorted list of all commands with references to their
+documentation:
+\secreflist
+\refitem cmda \\a
+\refitem cmdaddindex \\addindex
+\refitem cmdaddtogroup \\addtogroup
+\refitem cmdanchor \\anchor
+\refitem cmdarg \\arg
+\refitem cmdattention \\attention
+\refitem cmdauthor \\author
+\refitem cmdauthors \\authors
+\refitem cmdb \\b
+\refitem cmdbrief \\brief
+\refitem cmdbug \\bug
+\refitem cmdc \\c
+\refitem cmdcallgraph \\callgraph
+\refitem cmdcallergraph \\callergraph
+\refitem cmdcategory \\category
+\refitem cmdclass \\class
+\refitem cmdcode \\code
+\refitem cmdcond \\cond
+\refitem cmdcopybrief \\copybrief
+\refitem cmdcopydetails \\copydetails
+\refitem cmdcopydoc \\copydoc
+\refitem cmddate \\date
+\refitem cmddef \\def
+\refitem cmddefgroup \\defgroup
+\refitem cmddeprecated \\deprecated
+\refitem cmddetails \\details
+\refitem cmddir \\dir
+\refitem cmddontinclude \\dontinclude
+\refitem cmddot \\dot
+\refitem cmddotfile \\dotfile
+\refitem cmde \\e
+\refitem cmdelse \\else
+\refitem cmdelseif \\elseif
+\refitem cmdem \\em
+\refitem cmdendcode \\endcode
+\refitem cmdendcond \\endcond
+\refitem cmdenddot \\enddot
+\refitem cmdendhtmlonly \\endhtmlonly
+\refitem cmdendif \\endif
+\refitem cmdendinternal \\endinternal
+\refitem cmdendlatexonly \\endlatexonly
+\refitem cmdendlink \\endlink
+\refitem cmdendmanonly \\endmanonly
+\refitem cmdendmsc \\endmsc
+\refitem cmdendrtfonly \\endrtfonly
+\refitem cmdendverbatim \\endverbatim
+\refitem cmdendxmlonly \\endxmlonly
+\refitem cmdenum \\enum
+\refitem cmdexample \\example
+\refitem cmdexception \\exception
+\refitem cmdextends \\extends
+\refitem cmdfdollar \\f\$
+\refitem cmdfbropen \\f[
+\refitem cmdfbrclose \\f]
+\refitem cmdfcurlyopen \\f{
+\refitem cmdfcurlyclose \\f}
+\refitem cmdfile \\file
+\refitem cmdfn \\fn
+\refitem cmdheaderfile \\headerfile
+\refitem cmdhideinitializer \\hideinitializer
+\refitem cmdhtmlinclude \\htmlinclude
+\refitem cmdhtmlonly \\htmlonly
+\refitem cmdif \\if
+\refitem cmdifnot \\ifnot
+\refitem cmdimage \\image
+\refitem cmdimplements \\implements
+\refitem cmdinclude \\include
+\refitem cmdincludelineno \\includelineno
+\refitem cmdingroup \\ingroup
+\refitem cmdinternal \\internal
+\refitem cmdinvariant \\invariant
+\refitem cmdinterface \\interface
+\refitem cmdlatexonly \\latexonly
+\refitem cmdli \\li
+\refitem cmdline \\line
+\refitem cmdlink \\link
+\refitem cmdmainpage \\mainpage
+\refitem cmdmanonly \\manonly
+\refitem cmdmemberof \\memberof
+\refitem cmdmsc \\msc
+\refitem cmdmscfile \\mscfile
+\refitem cmdn \\n
+\refitem cmdname \\name
+\refitem cmdnamespace \\namespace
+\refitem cmdnosubgrouping \\nosubgrouping
+\refitem cmdnote \\note
+\refitem cmdoverload \\overload
+\refitem cmdp \\p
+\refitem cmdpackage \\package
+\refitem cmdpage \\page
+\refitem cmdpar \\par
+\refitem cmdparagraph \\paragraph
+\refitem cmdparam \\param
+\refitem cmdpost \\post
+\refitem cmdpre \\pre
+\refitem cmdprivate \\private
+\refitem cmdprivate \\privatesection
+\refitem cmdproperty \\property
+\refitem cmdprotected \\protected
+\refitem cmdprotected \\protectedsection
+\refitem cmdprotocol \\protocol
+\refitem cmdpublic \\public
+\refitem cmdpublic \\publicsection
+\refitem cmdref \\ref
+\refitem cmdrelated \\related
+\refitem cmdrelates \\relates
+\refitem cmdrelatedalso \\relatedalso
+\refitem cmdrelatesalso \\relatesalso
+\refitem cmdremark \\remark
+\refitem cmdremarks \\remarks
+\refitem cmdresult \\result
+\refitem cmdreturn \\return
+\refitem cmdreturns \\returns
+\refitem cmdretval \\retval
+\refitem cmdrtfonly \\rtfonly
+\refitem cmdsa \\sa
+\refitem cmdsection \\section
+\refitem cmdsee \\see
+\refitem cmdshort \\short
+\refitem cmdshowinitializer \\showinitializer
+\refitem cmdsince \\since
+\refitem cmdskip \\skip
+\refitem cmdskipline \\skipline
+\refitem cmdstruct \\struct
+\refitem cmdsubpage \\subpage
+\refitem cmdsubsection \\subsection
+\refitem cmdsubsubsection \\subsubsection
+\refitem cmdtest \\test
+\refitem cmdthrow \\throw
+\refitem cmdthrows \\throws
+\refitem cmdtodo \\todo
+\refitem cmdtparam \\tparam
+\refitem cmdtypedef \\typedef
+\refitem cmdunion \\union
+\refitem cmduntil \\until
+\refitem cmdvar \\var
+\refitem cmdverbatim \\verbatim
+\refitem cmdverbinclude \\verbinclude
+\refitem cmdversion \\version
+\refitem cmdwarning \\warning
+\refitem cmdweakgroup \\weakgroup
+\refitem cmdxmlonly \\xmlonly
+\refitem cmdxrefitem \\xrefitem
+\refitem cmddollar \\\$
+\refitem cmdat \\\@
+\refitem cmdbackslash \\\\
+\refitem cmdamp \\\&
+\refitem cmdtilde \\~
+\refitem cmdlt \\\<
+\refitem cmdgt \\\>
+\refitem cmdhash \\\#
+\refitem cmdperc \\\%
+\refitem cmdquot \\\"
+\refitem cmddcolon \\\::
+\endsecreflist
+
+The following subsections provide a list of all commands that are recognized by
+doxygen. Unrecognized commands are treated as normal text.
+
+
+\htmlonly <center> \endhtmlonly
+<h2>
+\htmlonly --- \endhtmlonly
+Structural indicators
+\htmlonly --- \endhtmlonly
+</h2>
+\htmlonly </center> \endhtmlonly
+
+\section cmdaddtogroup \\addtogroup <name> [(title)]
+ \addindex \\addtogroup
+ Defines a group just like \ref cmddefgroup "\\defgroup", but in contrast to
+ that command using the same \<name\> more than once will not result in a warning,
+ but rather one group with a merged documentation and the first title found in
+ any of the commands.
+
+ The title is optional, so this command can also be used to add a number of
+ entities to an existing group using \@{ and \@} like this:
+
+\verbatim
+ /*! \addtogroup mygrp
+ * Additional documentation for group `mygrp'
+ * @{
+ */
+
+ /*!
+ * A function
+ */
+ void func1()
+ {
+ }
+
+ /*! Another function */
+ void func2()
+ {
+ }
+
+ /*! @} */
+\endverbatim
+
+ \sa page \ref grouping "Grouping", sections \ref cmddefgroup "\\defgroup", \ref cmdingroup "\\ingroup", and
+ \ref cmdweakgroup "\\weakgroup".
+
+<hr>
+\section cmdcallgraph \\callgraph
+
+ \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
+ 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".
+ \note The completeness (and correctness) of the call graph depends on the
+ doxygen code parser which is not perfect.
+
+ \sa section \ref cmdcallergraph "\\callergraph".
+
+<hr>
+\section cmdcallergraph \\callergraph
+
+ \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
+ 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".
+ \note The completeness (and correctness) of the caller graph depends on the
+ doxygen code parser which is not perfect.
+
+ \sa section \ref cmdcallgraph "\\callgraph".
+
+<hr>
+\section cmdcategory \\category <name> [<header-file>] [<header-name>]
+
+ \addindex \\category
+ For Objective-C only: Indicates that a comment block contains documentation
+ for a class category with name \<name\>. The arguments are
+ equal to the \\class command.
+
+ \sa section \ref cmdclass "\\class".
+
+<hr>
+\section cmdclass \\class <name> [<header-file>] [<header-name>]
+
+ \addindex \\class
+ Indicates that a comment block contains documentation for a
+ class with name \<name\>. Optionally a header file and a header name
+ can be specified. If the header-file is specified, a link to a verbatim copy
+ of the header will be included in the HTML documentation.
+ The \<header-name\> argument can be used to overwrite the
+ name of the link that is used in the class documentation to something other
+ than \<header-file\>. This can be useful if the include name is not located
+ on the default include path (like \<X11/X.h\>). With the \<header-name\>
+ argument you can also specify how the include statement should look like,
+ by adding either quotes or sharp brackets around the name.
+ Sharp brackets are used if just the name is given. Note that the
+ last two arguments can also be specified using
+ the \ref cmdheaderfile "\\headerfile" command.
+
+ \par Example:
+ \verbinclude class.h
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/class/html/index.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+<hr>
+\section cmddef \\def <name>
+
+ \addindex \\def
+ Indicates that a comment block contains documentation for a
+ \c \#define macro.
+
+ \par Example:
+ \verbinclude define.h
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/define/html/define_8h.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+<hr>
+\section cmddefgroup \\defgroup <name> (group title)
+
+ \addindex \\defgroup
+ Indicates that a comment block contains documentation for a
+ \ref modules "group" of classes, files or namespaces. This can be used to
+ categorize classes, files or namespaces, and document those
+ categories. You can also use groups as members of other groups,
+ thus building a hierarchy of groups.
+
+ The \<name\> argument should be a single-word identifier.
+
+ \sa page \ref grouping "Grouping", sections \ref cmdingroup "\\ingroup", \ref cmdaddtogroup "\\addtogroup", and
+ \ref cmdweakgroup "\\weakgroup".
+
+<hr>
+\section cmddir \\dir [<path fragment>]
+
+ \addindex \\dir
+ Indicates that a comment block contains documentation for a directory.
+ The "path fragment" argument should include the directory name and
+ enough of the path to be unique with respect to the other directories
+ in the project.
+ The \ref cfg_show_dirs "SHOW_DIRECTORIES" option determines whether
+ or not the directory information is shown and the
+ \ref cfg_strip_from_path "STRIP_FROM_PATH" option determines what is
+ stripped from the full path before it appears in the output.
+
+<hr>
+\section cmdenum \\enum <name>
+
+ \addindex \\enum
+ Indicates that a comment block contains documentation for an
+ enumeration, with name \<name\>. If the enum is a member of a class and
+ 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.
+
+ \par Note:
+ The type of an anonymous enum cannot be documented, but the values
+ of an anonymous enum can.
+
+ \par Example:
+ \verbinclude enum.h
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/enum/html/class_test.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+<hr>
+\section cmdexample \\example <file-name>
+
+ \addindex \\example
+ Indicates that a comment block contains documentation for a source code
+ example. The name of the source file is \<file-name\>. The text of
+ this file will be included in the documentation, just after the
+ documentation contained in the comment block. All examples are placed
+ in a list. The source code is scanned for documented members and classes.
+ If any are found, the names are cross-referenced with the documentation.
+ Source files or directories can be specified using the
+ \ref cfg_example_path "EXAMPLE_PATH"
+ tag of doxygen's configuration file.
+
+ If \<file-name\> itself is not unique for the set of example files specified
+ by the
+ \ref cfg_example_path "EXAMPLE_PATH" tag, you can include part of the absolute path
+ to disambiguate it.
+
+ If more that one source file is needed for the example,
+ the \\include command can be used.
+
+ \par Example:
+ \verbinclude example.cpp
+ Where the example file \c example_test.cpp looks as follows:
+ \verbinclude example_test.cpp
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/example/html/examples.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+ \sa section \ref cmdinclude "\\include".
+
+<hr>
+\section cmdendinternal \\endinternal
+
+ \addindex \\endinternal
+ This command ends a documentation fragment that was started with a
+ \ref cmdinternal "\\internal" command. The text between \c \\internal and
+ \c \\endinternal will only be visible
+ if \ref cfg_internal_docs "INTERNAL_DOCS" is set to YES.
+
+<hr>
+\section cmdextends \\extends <name>
+
+ \addindex \\extends
+ This command can be used to manually indicate an inheritance relation,
+ when the programming language does not support this concept natively
+ (e.g. C).
+
+ The file \c manual.c in the example directory shows how to use this command.
+
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/manual/html/index.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+ \sa section \ref cmdimplements "\\implements" and section
+ \ref cmdmemberof "\\memberof"
+
+<hr>
+\section cmdfile \\file [<name>]
+
+ \addindex \\file
+ 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.
+
+ \par Important:
+ The documentation of global functions, variables, typedefs, and enums will
+ only be included in the output if the file they are in is documented as well.
+
+ \par Example:
+ \verbinclude file.h
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/file/html/file_8h.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+ \note In the above example \ref cfg_javadoc_autobrief "JAVADOC_AUTOBRIEF"
+ has been set to YES in the configuration file.
+
+<hr>
+\section cmdfn \\fn (function declaration)
+
+ \addindex \\fn
+ Indicates that a comment block contains documentation for a function
+ (either global or as a member of a class). This command is \em only
+ needed if a comment block is \e not placed in front (or behind)
+ the function declaration or definition.
+
+ If your comment block \e is in front of the function
+ declaration or definition this command can (and to avoid redundancy
+ 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
+ of the line!
+
+ This command is equivalent to \\var, \\typedef, and \\property.
+
+ \warning Do not use this command
+ if it is not absolutely needed, since it will lead to duplication of
+ information and thus to errors.
+
+ \par Example:
+ \verbinclude func.h
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/func/html/class_test.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+
+ \sa sections \ref cmdvar "\\var", \ref cmdproperty "\\property", and
+ \ref cmdtypedef "\\typedef".
+
+<hr>
+\section cmdheaderfile \\headerfile <header-file> [<header-name>]
+
+ \addindex \\headerfile
+ Intended to be used for class, struct, or union documentation, where
+ the documentation is in front of the definition. The arguments of
+ this command are the same as the second and third argument of
+ \ref cmdclass "\\class".
+ The \<header-file\> name refers to the file that should by included by the
+ application to obtain the definition of the class, struct, or union.
+ The \<header-name\> argument can be used to overwrite the
+ name of the link that is used in the class documentation to something other
+ than \<header-file\>. This can be useful if the include name is not located
+ on the default include path (like \<X11/X.h\>).
+
+ With the \<header-name\>
+ argument you can also specify how the include statement should look like,
+ by adding either double quotes or sharp brackets around the name.
+ By default sharp brackets are used if just the name is given.
+
+ 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:
+ \verbatim
+ \headerfile test.h "test.h"
+ \headerfile test.h ""
+ \headerfile "" \endverbatim
+ To get sharp brackets you do not need to specify anything,
+ but if you want to be explicit you could use any of the following:
+ \verbatim
+ \headerfile test.h <test.h>
+ \headerfile test.h <>
+ \headerfile <> \endverbatim
+
+ To globally reverse the default include representation to
+ local includes you can set
+ \ref cfg_force_local_includes "FORCE_LOCAL_INCLUDES" to \c YES.
+
+ To disable the include information altogether set
+ \ref cfg_show_include_files "SHOW_INCLUDE_FILES" to \c NO.
+
+<hr>
+\section cmdhideinitializer \\hideinitializer
+
+ \addindex \\hideinitializer
+ By default the value of a define and the initializer of a variable
+ are displayed unless they are longer than 30 lines. By putting
+ this command in a comment block of a define or variable, the
+ initializer is always hidden. The maximum number of initalization linens
+ can be changed by means of the configuration parameter
+ \ref cfg_max_initializer_lines "MAX_INITIALIZER_LINES", the default value is
+ 30.
+
+ \sa section \ref cmdshowinitializer "\\showinitializer".
+
+<hr>
+\section cmdimplements \\implements <name>
+
+ \addindex \\implements
+ This command can be used to manually indicate an inheritance relation,
+ when the programming language does not support this concept natively
+ (e.g. C).
+
+ The file \c manual.c in the example directory shows how to use this command.
+
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/manual/html/index.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+ \sa section \ref cmdextends "\\extends" and section
+ \ref cmdmemberof "\\memberof"
+
+<hr>
+\section cmdingroup \\ingroup (<groupname> [<groupname> <groupname>])
+
+ \addindex \\ingroup
+ If the \\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\>.
+
+ \sa page \ref grouping "Grouping", sections \ref cmddefgroup "\\defgroup",
+ \ref cmdaddtogroup "\\addtogroup", and \ref cmdweakgroup "\\weakgroup"
+
+<hr>
+\section cmdinterface \\interface <name> [<header-file>] [<header-name>]
+
+ \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.
+
+ \sa section \ref cmdclass "\\class".
+
+<hr>
+\section cmdinternal \\internal
+
+ \addindex \\internal
+ This command starts a documentation fragment that is meant for internal
+ use only. The fragment naturally ends at the end of the comment block.
+ 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
+ (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.
+
+ You can use \ref cfg_internal_docs "INTERNAL_DOCS" in the config file
+ to show (\c YES) or hide (\c NO) the internal documentation.
+
+ \sa section \ref cmdendinternal "\\endinternal".
+
+<hr>
+\section cmdmainpage \\mainpage [(title)]
+
+ \addindex \\mainpage
+
+ If the \\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.
+
+ Here is an example:
+\verbatim
+/*! \mainpage My Personal Index Page
+ *
+ * \section intro_sec Introduction
+ *
+ * This is the introduction.
+ *
+ * \section install_sec Installation
+ *
+ * \subsection step1 Step 1: Opening the box
+ *
+ * etc...
+ */
+\endverbatim
+
+ You can refer to the main page using \\ref index (if the treeview
+ is disabled, otherwise you should use \\ref main).
+
+ \sa section \ref cmdsection "\\section",
+ section \ref cmdsubsection "\\subsection", and
+ section \ref cmdpage "\\page".
+
+<hr>
+\section cmdmemberof \\memberof <name>
+
+ \addindex \\memberof
+ This command makes a function a member of a class in a similar way
+ as \ref cmdrelates "\\relates" does, only with this command the function
+ is represented as a real member of the class.
+ This can be useful when the programming language does not support
+ the concept of member functions natively (e.g. C).
+
+ It is also possible to use this command together with
+ \ref cmdpublic "\\public", \ref cmdprotected "\\protected" or
+ \ref cmdprivate "\\private".
+
+ The file \c manual.c in the example directory shows how to use this command.
+
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/manual/html/index.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+ \sa sections \ref cmdextends "\\extends", \ref cmdimplements "\\implements",
+ \ref cmdpublic "\\public", \ref cmdprotected "\\protected" and
+ \ref cmdprivate "\\private".
+
+<hr>
+\section cmdname \\name [(header)]
+
+ \addindex \\name
+
+ This command turns a comment block into a header
+ definition of a member group. The
+ comment block should be followed by a
+ <code>//\@{ ... //\@}</code> block containing the
+ members of the group.
+
+ See section \ref memgroup for an example.
+
+<hr>
+\section cmdnamespace \\namespace <name>
+
+ \addindex \\namespace
+ Indicates that a comment block contains documentation for a
+ namespace with name \<name\>.
+
+<hr>
+\section cmdnosubgrouping \\nosubgrouping
+
+ \addindex \\nosubgrouping
+ This command can be put in the documentation
+ of a class. It can be used in combination with member grouping
+ to avoid that doxygen puts a member group as a subgroup of a
+ Public/Protected/Private/... section.
+
+ \sa sections \ref cmdpublicsection "\\publicsection",
+ \ref cmdprotectedsection "\\protectedsection" and
+ \ref cmdprivatesection "\\privatesection".
+<hr>
+\section cmdoverload \\overload [(function declaration)]
+
+ \addindex \\overload
+ This command can be used to generate the following
+ standard text for an overloaded member function:
+
+ `This is an overloaded member function, provided for convenience.
+ It differs from the above function only in what argument(s) it accepts.'
+
+ If the documentation for the overloaded member function is not located
+ in front of the function declaration or definition, the optional
+ argument should be used to specify the correct function.
+
+ Any other documentation that is inside the documentation block will
+ by appended after the generated message.
+
+ \par Note 1:
+ 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.
+ \par Note 2:
+ The \\overload command does not work inside a one-line comment.
+ \par Example:
+ \verbinclude examples/overload.cpp
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/overload/html/class_test.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+<hr>
+\section cmdpackage \\package <name>
+
+ \addindex \\package
+ Indicates that a comment block contains documentation for a
+ Java package with name \<name\>.
+
+<hr>
+\section cmdpage \\page <name> (title)
+
+ \addindex \\page
+ Indicates that a comment block contains a piece of documentation that is
+ not directly related to one specific class, file or member.
+ The HTML generator creates a page containing the documentation. The
+ \f$\mbox{\LaTeX}\f$ generator
+ starts a new section in the chapter `Page documentation'.
+
+ \par Example:
+ \verbinclude page.doc
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/page/html/pages.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+ \par Note:
+ 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
+ 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.
+
+ \sa section \ref cmdsection "\\section", section
+ \ref cmdsubsection "\\subsection", and section
+ \ref cmdref "\\ref".
+
+<hr>
+\section cmdprivate \\private
+
+ \addindex \\private
+ Indicates that the member documented in 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
+ in object-oriented languages. This command is intended for use only when
+ the language does not support the concept of protection level natively
+ (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.
+
+ \sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public",
+ \ref cmdprotected "\\protected" and \ref cmdprivatesection "\\privatesection".
+
+<hr>
+\section cmdprivatesection \\privatesection
+
+ \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,
+ i.e., should only be accessed by other members in the same class.
+
+ \sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public",
+ \ref cmdprotected "\\protected" and \ref cmdprivate "\\private".
+
+<hr>
+\section cmdproperty \\property (qualified property name)
+
+ \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.
+
+ \sa sections \ref cmdfn "\\fn", \ref cmdtypedef "\\typedef", and
+ \ref cmdvar "\\var".
+
+<hr>
+\section cmdprotected \\protected
+
+ \addindex \\protected
+ Indicates that the member documented in the comment block is protected,
+ i.e., should only be accessed by other members in the same or derived
+ classes.
+
+ Note that Doxygen automatically detects the protection level of members
+ in object-oriented languages. This command is intended for use only when
+ the language does not support the concept of protection level natively
+ (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.
+
+ \sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public",
+ \ref cmdprivate "\\private" and \ref cmdprotectedsection "\\protectedsection".
+
+<hr>
+\section cmdprotectedsection \\protectedsection
+
+ \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,
+ i.e., should only be accessed by other members in the same or derived
+ classes.
+
+ \sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public",
+ \ref cmdprivate "\\private" and \ref cmdprotected "\\protected".
+
+<hr>
+\section cmdprotocol \\protocol <name> [<header-file>] [<header-name>]
+
+ \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.
+
+ \sa section \ref cmdclass "\\class".
+
+<hr>
+\section cmdpublic \\public
+
+ \addindex \\public
+ Indicates that the member documented in 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
+ in object-oriented languages. This command is intended for use only when
+ the language does not support the concept of protection level natively
+ (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.
+
+ \sa sections \ref cmdmemberof "\\memberof", \ref cmdprotected "\\protected",
+ \ref cmdprivate "\\private" and \ref cmdpublicsection "\\publicsection".
+
+<hr>
+\section cmdpublicsection \\publicsection
+
+ \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,
+ 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 cmdrelates \\relates <name>
+
+ \addindex \\relates
+ This command can be used in the documentation of a non-member function
+ \<name\>. It puts the function inside the `related function' section
+ of the class documentation. This command is useful for documenting
+ non-friend functions that are nevertheless strongly coupled to a certain
+ class. It prevents the need of having to document a file, but
+ only works for functions.
+
+ \par Example:
+ \verbinclude relates.cpp
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/relates/html/class_string.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+<hr>
+\section cmdrelated \\related <name>
+
+ \addindex related
+ Equivalent to \ref cmdrelates "\\relates"
+
+<hr>
+\section cmdrelatesalso \\relatesalso <name>
+
+ \addindex \\relatesalso
+ This command can be used in the documentation of a non-member function
+ \<name\>. It puts the function both inside the `related function' section
+ of the class documentation as well as leaving it at its normal file documentation
+ location. This command is useful for documenting
+ non-friend functions that are nevertheless strongly coupled to a certain
+ class. It only works for functions.
+
+<hr>
+\section cmdrelatedalso \\relatedalso <name>
+
+ \addindex relatedalso
+ Equivalent to \ref cmdrelatesalso "\\relatesalso"
+
+<hr>
+\section cmdshowinitializer \\showinitializer
+
+ \addindex \\showinitializer
+ By default the value of a define and the initializer of a variable
+ are only displayed if they are less than 30 lines long. By putting
+ this command in a comment block of a define or variable, the
+ initializer is shown unconditionally.
+ The maximum number of initalization linens
+ can be changed by means of the configuration parameter
+ \ref cfg_max_initializer_lines "MAX_INITIALIZER_LINES", the default value is
+ 30.
+
+ \sa section \ref cmdhideinitializer "\\hideinitializer".
+
+<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.
+
+ \sa section \ref cmdclass "\\class".
+
+<hr>
+\section cmdtypedef \\typedef (typedef declaration)
+
+ \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, \\propery, and \\fn.
+
+ \sa section \ref cmdfn "\\fn", \ref cmdproperty "\\property", and
+ \ref cmdvar "\\var".
+
+<hr>
+\section cmdunion \\union <name> [<header-file>] [<header-name>]
+
+ \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.
+
+ \sa section \ref cmdclass "\\class".
+
+<hr>
+\section cmdvar \\var (variable declaration)
+
+ \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, \\propery, and \\fn.
+
+ \sa section \ref cmdfn "\\fn", \ref cmdproperty "\\property", and \ref cmdtypedef "\\typedef".
+
+<hr>
+\section cmdweakgroup \\weakgroup <name> [(title)]
+ \addindex \\addtogroup
+ Can be used exactly like \ref cmdaddtogroup "\\addtogroup", but has
+ a lower priority when it comes to resolving conflicting grouping
+ definitions.
+
+ \sa page \ref grouping "Grouping" and section \ref cmdaddtogroup "\\addtogroup".
+
+<hr>
+
+\htmlonly <center> \endhtmlonly
+<h2>
+\htmlonly --- \endhtmlonly
+Section indicators
+\htmlonly --- \endhtmlonly
+</h2>
+\htmlonly </center>\endhtmlonly
+
+<hr>
+\section cmdattention \\attention { attention text }
+
+ \addindex \\attention
+ Starts a paragraph where a message that needs attention may 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 \\attention commands will be joined into a single paragraph.
+ The \\attention command ends when a blank line or some other
+ sectioning command is encountered.
+
+<hr>
+\section cmdauthor \\author { list of authors }
+
+ \addindex \\author
+ Starts a paragraph where one or more author names may 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 \\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
+ sectioning command is encountered.
+
+ \par Example:
+ \verbinclude author.cpp
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/author/html/class_windows_n_t.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+<hr>
+\section cmdauthors \\authors { list of authors }
+
+ \addindex \\authors
+ Equivalent to \ref cmdauthor "\\author".
+
+<hr>
+\section cmdbrief \\brief { brief description }
+
+ \addindex \\brief
+ Starts a paragraph that serves as a brief description. For classes and files
+ the brief description will be used in lists and at the start of the
+ documentation page. For class and file members, the brief description
+ will be placed at the declaration of the member and prepended to the
+ 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
+ \ref cmdauthor "\\author" for an example.
+
+ Synonymous to \\short.
+
+<hr>
+\section cmdbug \\bug { bug description }
+
+ \addindex \\bug
+ Starts a paragraph where one or more bugs may be reported.
+ 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.
+ 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
+ sectioning command is encountered. See section \ref cmdauthor "\\author"
+ for an example.
+
+<hr>
+\section cmdcond \\cond [<section-label>]
+
+ \addindex \\cond
+ Starts a conditional section that ends with a corresponding
+ \ref cmdendcond "\\endcond" command, which is typically found in
+ another comment block. The main purpose of this pair of
+ 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
+ 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.
+
+ For conditional sections within a comment block one should
+ use a \ref cmdif "\\if" ... \ref cmdendif "\\endif" block.
+
+ Conditional sections can be nested. In this case a nested section will only
+ be shown if it and its containing section are included.
+
+ Here is an example showing the commands in action:
+
+\verbatim
+/** An interface */
+class Intf
+{
+ public:
+ /** A method */
+ virtual void func() = 0;
+
+ /// @cond TEST
+
+ /** A method used for testing */
+ virtual void test() = 0;
+
+ /// @endcond
+};
+
+/// @cond DEV
+/*
+ * The implementation of the interface
+ */
+class Implementation : public Intf
+{
+ public:
+ void func();
+
+ /// @cond TEST
+ void test();
+ /// @endcond
+
+ /// @cond
+ /** This method is obsolete and does
+ * not show up in the documentation.
+ */
+ void obsolete();
+ /// @endcond
+};
+
+/// @endcond
+\endverbatim
+
+The output will be different depending on whether or not \c ENABLED_SECTIONS
+contains \c TEST, or \c DEV
+
+ \sa section \ref cmdendcond "\\endcond".
+
+<hr>
+\section cmddate \\date { date description }
+
+ \addindex \\date
+ Starts a paragraph where one or more dates may 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 \\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
+ sectioning command is encountered. See section \ref cmdauthor "\\author"
+ for an example.
+
+<hr>
+\section cmddeprecated \\deprecated { description }
+
+ \addindex \\deprecated
+ Starts a paragraph indicating that this documentation block belongs to
+ a deprecated entity. Can be used to describe alternatives,
+ expected life span, etc.
+
+<hr>
+\section cmddetails \\details { detailed decription }
+
+ \addindex \\details
+ Just like \ref cmdbrief "\\brief" starts a brief description, \\details
+ starts the detailed description. You can also start a new paragraph (blank line)
+ then the \\details command is not needed.
+
+<hr>
+\section cmdelse \\else
+
+ \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.
+
+ \sa \ref cmdif "\\if", \ref cmdifnot "\\ifnot", \ref cmdelseif "\\elseif",
+ \ref cmdendif "\\endif."
+
+<hr>
+\section cmdelseif \\elseif <section-label>
+
+ \addindex \\elseif
+ Starts a conditional documentation section if the previous section
+ was not enabled. 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. Conditional blocks can be nested. A nested section is
+ only enabled if all enclosing sections are enabled as well.
+
+ \sa sections \ref cmdendif "\\endif", \ref cmdifnot "\\ifnot",
+ \ref cmdelse "\\else", and \ref cmdelseif "\\elseif".
+
+<hr>
+\section cmdendcond \\endcond
+
+ \addindex \\endcond
+ Ends a conditional section that was started by \ref cmdcond "\\cond".
+
+ \sa section \ref cmdcond "\\cond".
+
+<hr>
+\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.
+
+ \sa sections \ref cmdif "\\if" and \ref cmdifnot "\\ifnot".
+
+<hr>
+\section cmdexception \\exception <exception-object> { exception description }
+
+ \addindex \\exception
+ Starts an exception description for an exception object with name
+ \<exception-object\>. Followed by a description of the exception.
+ 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.
+ Each exception description will start on a new line.
+ The \\exception description ends when a blank line or some other
+ sectioning command is encountered. See section \ref cmdfn "\\fn" for an
+ example.
+
+<hr>
+\section cmdif \\if <section-label>
+
+ \addindex \\if
+ Starts a conditional documentation section. The section ends
+ with a matching \c \\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. Conditional blocks can be nested. A nested section is
+ only enabled if all enclosing sections are enabled as well.
+
+ \par Example:
+\verbatim
+ /*! Unconditionally shown documentation.
+ * \if Cond1
+ * Only included if Cond1 is set.
+ * \endif
+ * \if Cond2
+ * Only included if Cond2 is set.
+ * \if Cond3
+ * Only included if Cond2 and Cond3 are set.
+ * \endif
+ * More text.
+ * \endif
+ * Unconditional text.
+ */
+\endverbatim
+
+ You can also use conditional commands inside aliases. To
+ document a class in two languages you could for instance use:
+
+\par Example 2:
+\verbatim
+/*! \english
+ * This is English.
+ * \endenglish
+ * \dutch
+ * Dit is Nederlands.
+ * \enddutch
+ */
+class Example
+{
+};
+\endverbatim
+
+ Where the following aliases are defined in the configuration file:
+
+\verbatim
+ALIASES = "english=\if english" \
+ "endenglish=\endif" \
+ "dutch=\if dutch" \
+ "enddutch=\endif"
+\endverbatim
+
+ and \c 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".
+
+<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
+ 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.
+
+ \sa sections \ref cmdendif "\\endif", \ref cmdif "\\if",
+ \ref cmdelse "\\else", and \ref cmdelseif "\\elseif".
+
+<hr>
+\section cmdinvariant \\invariant { description of invariant }
+
+ \addindex \\invariant
+ Starts a paragraph where the invariant of an entity can be described.
+ 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.
+ 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
+ sectioning command is encountered.
+
+<hr>
+\section cmdnote \\note { text }
+
+ \addindex \\note
+ 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.
+ 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
+ sectioning command is encountered. See section \ref cmdpar "\\par"
+ for an example.
+
+<hr>
+\section cmdpar \\par [(paragraph title)] { paragraph }
+
+ \addindex \\par
+ If a paragraph title is given this command starts a paragraph with a
+ user defined heading. The heading extends until the end of the
+ line. The paragraph following the command will be indented.
+
+ 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.
+
+ 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
+ sectioning command is encountered.
+
+ \par Example:
+ \verbinclude par.cpp
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/par/html/class_test.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+<hr>
+\section cmdparam \\param [(dir)] <parameter-name> { parameter description }
+
+ \addindex \\param
+ Starts a parameter description for a function parameter with name
+ \<parameter-name\>, followed by a description of the parameter.
+ The existence of the parameter is checked and a warning is given if
+ 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
+ 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:
+ \code
+/*!
+ * Copies bytes from a source memory area to a destination memory area,
+ * where both areas may not overlap.
+ * @param[out] dest The memory area to copy to.
+ * @param[in] src The memory area to copy from.
+ * @param[in] n The number of bytes to copy
+ */
+void memcpy(void *dest, const void *src, size_t n);
+ \endcode
+
+ 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.
+ Each parameter description will start on a new line.
+ The \\param description ends when a blank line or some other
+ sectioning command is encountered. See section \ref cmdfn "\\fn" for an
+ example.
+
+ Note that for PHP one can also specify the type (or types if you
+ separate them with a pipe symbol) which are allowed for a parameter
+ (as this is not part of the definition).
+ The syntax is the same as for phpDocumentor, i.e.
+\verbatim
+@param datatype1|datatype2 $paramname description
+\endverbatim
+
+<hr>
+\section cmdtparam \\tparam <template-parameter-name> { description }
+
+ \addindex \\tparam
+ Starts a template parameter for a class or function template parameter
+ with name \<template-parameter-name\>, followed by a description of the
+ template parameter.
+
+ Otherwise similar to \ref cmdparam "\\param".
+
+<hr>
+\section cmdpost \\post { description of the postcondition }
+
+ \addindex \\post
+ Starts a paragraph where the postcondition of an entity can be described.
+ 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.
+ 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
+ sectioning command is encountered.
+
+<hr>
+\section cmdpre \\pre { description of the precondition }
+
+ \addindex \\pre
+ Starts a paragraph where the precondition of an entity can be described.
+ 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.
+ 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
+ sectioning command is encountered.
+
+<hr>
+\section cmdremark \\remark { remark text }
+
+ \addindex \\remark
+ Starts a paragraph where one or more remarks may 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 \\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
+ sectioning command is encountered.
+
+<hr>
+\section cmdremarks \\remarks { remark text }
+
+ \addindex \\remarks
+ Equivalent to \ref cmdremark "\\remark".
+
+<hr>
+\section cmdresult \\result { description of the result value }
+
+ \addindex \\result
+ Equivalent to \ref cmdreturn "\\return".
+
+<hr>
+\section cmdreturn \\return { description of the return value }
+
+ \addindex \\return
+ 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
+ sectioning command is encountered. See section \ref cmdfn "\\fn" for an
+ example.
+
+<hr>
+\section cmdreturns \\returns { description of the return value }
+
+ \addindex \\returns
+ Equivalent to \ref cmdreturn "\\return".
+
+<hr>
+\section cmdretval \\retval <return value> { description }
+
+ \addindex \\retval
+ Starts a description for a function's return value with name
+ \<return value\>, followed by a description of the return value.
+ 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.
+ Each return value description will start on a new line.
+ The \\retval description ends when a blank line or some other
+ sectioning command is encountered.
+
+<hr>
+\section cmdsa \\sa { references }
+
+ \addindex \\sa
+ Starts a paragraph where one or more cross-references to classes,
+ functions, methods, variables, files or URL may be specified.
+ Two names joined by either <code>::</code> or <code>\#</code>
+ are understood as referring to a class and one of its members.
+ One of several overloaded methods or constructors
+ may be selected by including a parenthesized list of argument types after
+ the method name.
+
+ Synonymous to \\see.
+
+ \sa section \ref autolink "autolink" for information on how to create links
+ to objects.
+
+<hr>
+\section cmdsee \\see { references }
+
+ \addindex \\see
+ Equivalent to \ref cmdsa "\\sa". Introduced for compatibility with Javadoc.
+
+<hr>
+\section cmdshort \\short { short description }
+
+ \addindex \\short
+ Equivalent to \ref cmdbrief "\\brief".
+
+<hr>
+\section cmdsince \\since { text }
+
+ \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
+ special internal structure. All visual enhancement commands may be
+ used inside the paragraph. The \\since description ends when a blank
+ line or some other sectioning command is encountered.
+
+<hr>
+\section cmdtest \\test { paragraph describing a test case }
+
+ \addindex \\test
+ Starts a paragraph where a test case can be described.
+ The description will also add the test case to a separate test list.
+ The two instances of the description will be cross-referenced.
+ Each test case in the test list will be preceded by a header that
+ indicates the origin of the test case.
+
+<hr>
+\section cmdthrow \\throw <exception-object> { exception description }
+
+ \addindex \\throw
+ Synonymous to \\exception (see section \ref cmdexception "\\exception").
+
+ \par Note:
+ the tag \\throws is a synonym for this tag.
+
+ \sa section \ref cmdexception "\\exception"
+
+<hr>
+\section cmdthrows \\throws <exception-object> { exception description }
+
+ \addindex \\throws
+ Equivalent to \ref cmdthrow "\\throw".
+
+<hr>
+\section cmdtodo \\todo { paragraph describing what is to be done }
+
+ \addindex \\todo
+ Starts a paragraph where a TODO item is described.
+ The description will also add an item to a separate TODO list.
+ The two instances of the description will be cross-referenced.
+ Each item in the TODO list will be preceded by a header that
+ indicates the origin of the item.
+
+<hr>
+\section cmdversion \\version { version number }
+
+ \addindex \\version
+ Starts a paragraph where one or more version strings may 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 \\version commands will be joined into a single paragraph.
+ Each version description will start on a new line.
+ Alternatively, one \\version command may mention
+ several version strings.
+ The \\version command ends when a blank line or some other
+ sectioning command is encountered. See section \ref cmdauthor "\\author"
+ for an example.
+
+<hr>
+\section cmdwarning \\warning { warning message }
+
+ \addindex \\warning
+ Starts a paragraph where one or more warning messages may 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 \\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
+ sectioning command is encountered. See section \ref cmdauthor "\\author"
+ for an example.
+
+<hr>
+\section cmdxrefitem \\xrefitem <key> "(heading)" "(list title)" { text }
+
+ \addindex \\xrefitem
+ This command is a generalization of commands such as \ref cmdtodo "\\todo"
+ and \ref cmdbug "\\bug".
+ It can be used to create user-defined text sections which are automatically
+ cross-referenced between the place of occurrence and a related page,
+ which will be generated. On the related page all sections of
+ the same type will be collected.
+
+ The first argument \<key\> is an
+ identifier uniquely representing the type of the section. The second argument
+ 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.
+
+ To get an idea on how to use the \\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
+
+ Since it is very tedious and error-prone to repeat the first three
+ 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
+ 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.
+
+<hr>
+
+\htmlonly <center> \endhtmlonly
+<h2>
+\htmlonly --- \endhtmlonly
+Commands to create links
+\htmlonly --- \endhtmlonly
+</h2>
+\htmlonly </center>\endhtmlonly
+
+<hr>
+\section cmdaddindex \\addindex (text)
+
+ \addindex \\addindex
+ This command adds (text) to the \f$\mbox{\LaTeX}\f$ index.
+
+<hr>
+\section cmdanchor \\anchor <word>
+
+ \addindex \\anchor
+ This command places an invisible, named anchor into the documentation
+ to which you can refer with the \\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
+ (\ref cmdmainpage "\\mainpage").
+
+ \sa section \ref cmdref "\\ref".
+
+<hr>
+\section cmdendlink \\endlink
+
+ \addindex \\endlink
+ This command ends a link that is started with the \\link command.
+
+ \sa section \ref cmdlink "\\link".
+
+<hr>
+\section cmdlink \\link <link-object>
+
+ \addindex \\link
+ 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,
+ 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.
+
+ See section \ref autolink "autolink" for more information on automatically
+ generated links and valid link-objects.
+
+<hr>
+\section cmdref \\ref <name> ["(text)"]
+
+ \addindex \\ref
+ Creates a reference to a named section, subsection, page or anchor.
+ For HTML documentation the reference command will generate a link to
+ the section. For a section or subsection the title of the section will be
+ used as the text of the link. For an anchor the optional text between quotes
+ will be used or \<name\> if no text is specified.
+ For \f$\mbox{\LaTeX}\f$ documentation the reference command will
+ generate a section number for sections or the text followed by a
+ page number if \<name\> refers to an anchor.
+
+ \sa
+ Section \ref cmdpage "\\page" for an example of the \\ref command.
+
+<hr>
+\section cmdsubpage \\subpage <name> ["(text)"]
+
+ \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
+ is often more convenient. The main page (see \ref cmdmainpage "\\mainpage")
+ is typically the root of hierarchy.
+
+ This command behaves similar as \ref cmdref "\\ref" in the sense that
+ 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,
+ and creates a parent-child relation between pages, where the
+ child page (or sub page) is identified by label \<name\>.
+
+ See the \ref cmdsection "\\section"
+ and \ref cmdsubsection "\\subsection" commands if you want to add structure
+ without creating multiple pages.
+
+ \note Each page can be the sub page of only one other page and
+ no cyclic relations are allowed, i.e. the page hierarchy must have a tree
+ structure.
+
+ Here is an example:
+\verbatim
+/*! \mainpage A simple manual
+
+Some general info.
+
+This manual is divided in the following sections:
+- \subpage intro
+- \subpage advanced "Advanced usage"
+*/
+
+//-----------------------------------------------------------
+
+/*! \page intro Introduction
+This page introduces the user to the topic.
+Now you can proceed to the \ref advanced "advanced section".
+*/
+
+//-----------------------------------------------------------
+
+/*! \page advanced Advanced Usage
+This page is for advanced users.
+Make sure you have first read \ref intro "the introduction".
+*/
+\endverbatim
+
+<hr>
+\section cmdsection \\section <section-name> (section title)
+
+ \addindex \\section
+ Creates a section with name \<section-name\>. The title of the
+ section should be specified as the second argument of the \\section
+ command.
+
+ \warning This command only works inside related page documentation and
+ \e not in other documentation blocks!
+
+ \sa
+ Section \ref cmdpage "\\page" for an example of the
+ \ref cmdsection "\\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
+ command.
+
+ \warning This command only works inside a section of a related page
+ documentation block and
+ \e not in other documentation blocks!
+
+ \sa
+ Section \ref cmdpage "\\page" for an example of the
+ \ref cmdsubsection "\\subsection" command.
+
+<hr>
+\section cmdsubsubsection \\subsubsection <subsubsection-name> (subsubsection title)
+
+ \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.
+
+ \warning This command only works inside a subsection of a
+ related page documentation block and
+ \e not in other documentation blocks!
+
+ \sa
+ Section \ref cmdpage "\\page" for an example of the
+ \ref cmdsection "\\section" command and
+ \ref cmdsubsection "\\subsection" command.
+
+<hr>
+\section cmdparagraph \\paragraph <paragraph-name> (paragraph title)
+
+ \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.
+
+ \warning This command only works inside a subsubsection of a
+ related page documentation block and
+ \e not in other documentation blocks!
+
+<hr>
+
+\htmlonly <center> \endhtmlonly
+<h2>
+\htmlonly --- \endhtmlonly
+Commands for displaying examples
+\htmlonly --- \endhtmlonly
+</h2>
+\htmlonly </center>\endhtmlonly
+
+<hr>
+\section cmddontinclude \\dontinclude <file-name>
+
+ \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).
+ 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
+ \ref cfg_example_path "EXAMPLE_PATH"
+ tag of doxygen's configuration file.
+
+ 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.
+
+ 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.
+
+ \par Example:
+ \verbinclude include.cpp
+ Where the example file \c example_test.cpp looks as follows:
+ \verbinclude example_test.cpp
+ \htmlonly
+ Click <a href="$(DOXYGEN_DOCDIR)/examples/include/html/example.html">here</a>
+ for the corresponding HTML documentation that is generated by doxygen.
+ \endhtmlonly
+
+ \sa sections \ref cmdline "\\line", \ref cmdskip "\\skip",
+ \ref cmdskipline "\\skipline", \ref cmduntil "\\until", and
+ \ref cmdinclude "\\include".
+
+<hr>
+\section cmdinclude \\include <file-name>
+
+ \addindex \\include
+ This command can be used to include a source file as a block of code.
+ The command takes the name of an include file as an argument.
+ Source files or directories can be specified using the
+ \ref cfg_example_path "EXAMPLE_PATH"
+ tag of doxygen's configuration file.
+
+ If \<file-name\> itself is not unique for the set of example files specified
+ 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
+ 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
+ duplication in case of example blocks that consist of multiple
+ source and header files.
+
+ For a line by line description of a source files use the
+ \ref cmddontinclude "\\dontinclude" command in combination with
+ the \ref cmdline "\\line", \ref cmdskip "\\skip",
+ \ref cmdskipline "\\skipline",
+ and \\until commands.
+
+ \note Doxygen's special commands do not work inside blocks of code.
+ It is allowed to nest C-style comments inside a code block though.
+
+ \sa sections \ref cmdexample "\\example", \ref cmddontinclude "\\dontinclude", and
+ \ref cmdverbatim "\\verbatim".
+
+<hr>
+\section cmdincludelineno \\includelineno <file-name>
+
+ \addindex \\includelineno
+ This command works the same way as \\include, but will add line
+ numbers to the included file.
+
+ \sa section \ref cmdinclude "\\include".
+
+<hr>
+\section cmdline \\line ( pattern )
+
+ \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
+ line. If that line contains the specified pattern, it is written
+ to the output.
+
+ The internal pointer that is used to keep track of the current line in
+ the example, is set to the start of the line following the non-blank
+ line that was found (or to the end of the example if no such line could
+ be found).
+
+ See section \ref cmddontinclude "\\dontinclude" for an example.
+
+<hr>
+\section cmdskip \\skip ( pattern )
+
+ \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
+ the specified pattern.
+
+ The internal pointer that is used to keep track of the current line in
+ the example, is set to the start of the line that contains the specified
+ pattern (or to the end of the example if the pattern could not be found).
+
+ See section \ref cmddontinclude "\\dontinclude" for an example.
+
+<hr>
+\section cmdskipline \\skipline ( pattern )
+
+ \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
+ 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
+ the example, is set to the start of the line following the line that is
+ written (or to the end of the example if the pattern could not be found).
+
+ \par Note:
+ The command:
+ \verbatim\skipline pattern\endverbatim
+ is equivalent to:
+\verbatim
+\skip pattern
+\line pattern\endverbatim
+
+ See section \ref cmddontinclude "\\dontinclude" for an example.
+
+<hr>
+\section cmduntil \\until ( pattern )
+
+ \addindex \\until
+ This command writes all lines of the example that was last
+ included using \\include or \\dontinclude to the output, until it finds
+ a line containing the specified pattern. The line containing the pattern
+ will be written as well.
+
+ The internal pointer that is used to keep track of the current line in
+ the example, is set to the start of the line following last written
+ line (or to the end of the example if the pattern could not be found).
+
+ See section \ref cmddontinclude "\\dontinclude" for an example.
+
+<hr>
+\section cmdverbinclude \\verbinclude <file-name>
+
+ \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.
+
+ 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.
+
+<hr>
+\section cmdhtmlinclude \\htmlinclude <file-name>
+
+ \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.
+
+ 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.
+
+<hr>
+
+\htmlonly <center> \endhtmlonly
+<h2>
+\htmlonly --- \endhtmlonly
+Commands for visual enhancements
+\htmlonly --- \endhtmlonly
+</h2>
+\htmlonly </center>\endhtmlonly
+
+\section cmda \\a <word>
+
+ \addindex \\a
+ Displays the argument \<word\> in italics.
+ Use this command to emphasize words.
+ Use this command to refer to member arguments in the running text.
+
+ \par Example:
+ \verbatim
+ ... the \a x and \a y coordinates are used to ...
+ \endverbatim
+ 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".
+ To emphasize multiple words use \<em\>multiple words\</em\>.
+
+<hr>
+\section cmdarg \\arg { item-description }
+
+ \addindex \\arg
+ This command has one argument that continues until the first
+ blank line or until another \\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.
+
+ \par Example:
+ Typing:
+ \verbatim
+ \arg \c AlignLeft left alignment.
+ \arg \c AlignCenter center alignment.
+ \arg \c AlignRight right alignment
+
+ No other types of alignment are supported.
+ \endverbatim
+ will result in the following text:<br><br>
+ <ul>
+ <li> \c AlignLeft left alignment.
+ <li> \c AlignCenter center alignment.
+ <li> \c AlignRight right alignment
+ </ul><br>
+ No other types of alignment are supported.
+
+ \par Note:
+ For nested lists, HTML commands should be used.
+
+ Equivalent to \ref cmdli "\\li"
+
+
+<hr>
+\section cmdb \\b <word>
+
+ \addindex \\b
+ Displays the argument \<word\> using a bold font.
+ Equivalent to \<b\>word\</b\>.
+ To put multiple words in bold use \<b\>multiple words\</b\>.
+
+<hr>
+\section cmdc \\c <word>
+
+ \addindex \\c
+ Displays the argument \<word\> using a typewriter font.
+ Use this to refer to a word of code.
+ Equivalent to \<tt\>word\</tt\>.
+
+ \par Example:
+ Typing:
+ \verbatim
+ ... This function returns \c void and not \c int ...
+ \endverbatim
+ will result in the following text:<br><br>
+ ... This function returns \c void and not \c int ...
+
+ Equivalent to \ref cmdp "\\p"
+ To have multiple words in typewriter font use \<tt\>multiple words\</tt\>.
+
+<hr>
+\section cmdcode \\code
+
+ \addindex \\code
+ Starts a block of code. A code block is treated differently
+ from ordinary text. It is interpreted as C/C++ code. The names of the
+ classes and members that are documented are automatically replaced by
+ links to the documentation.
+
+ \sa section \ref cmdendcode "\\endcode" and section \ref cmdverbatim "\\verbatim".
+
+<hr>
+\section cmdcopydoc \\copydoc <link-object>
+
+ \addindex \\copydoc
+ Copies a documentation block from the object specified by \<link-object\>
+ and pastes it at the location of the command. This command can be useful
+ to avoid cases where a documentation block would otherwise have to be
+ duplicated or it can be used to extend the documentation of an inherited
+ member.
+
+ The link object can point to a member (of a class, file or group),
+ a class, a namespace, a group, a page, or a file (checked in that order).
+ Note that if the object pointed to is a member (function, variable,
+ typedef, etc), the compound (class, file, or group) containing it
+ should also be documented for the copying to work.
+
+ To copy the documentation for a member of a
+ class for instance one can put the following in the documentation
+
+\verbatim
+ /*! @copydoc MyClass::myfunction()
+ * More documentation.
+ */
+\endverbatim
+
+ if the member is overloaded, you should specify the argument types
+ explicitly (without spaces!), like in the following:
+
+\verbatim
+ /*! @copydoc MyClass::myfunction(type1,type2) */
+\endverbatim
+
+ 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
+ relation will be broken and flagged as an error.
+
+ Note that both the brief description and the detailed documentation
+ will be copied. See \ref cmdcopybrief "\\copybrief" and
+ \ref cmdcopydetails "\\copydetails" for copying only the brief or
+ detailed part of the comment block.
+
+ \sa sections \ref cmdcopybrief "\\copybrief" and \ref cmdcopydetails "\\copydetails"
+
+<hr>
+\section cmdcopybrief \\copybrief <link-object>
+
+Works in a similar way as \ref cmdcopydoc "\\copydoc" but will
+only copy the brief description, not the detailed documentation.
+
+<hr>
+\section cmdcopydetails \\copydetails <link-object>
+
+Works in a similar way as \ref cmdcopydoc "\\copydoc" but will
+only copy the detailed documentation, not the brief description.
+
+<hr>
+\section cmddot \\dot
+
+ \addindex \\dot
+ Starts a text fragment which should contain a valid description of a
+ dot graph. The text fragment ends with \ref cmdenddot "\\enddot".
+ Doxygen will pass the text on to dot and include the resulting
+ image (and image map) into the output.
+ The nodes of a graph can be made clickable by using the URL attribute.
+ By using the command \\ref inside the URL value you can conveniently
+ link to an item inside doxygen. Here is an example:
+\code
+/*! class B */
+class B {};
+
+/*! class C */
+class C {};
+
+/*! \mainpage
+ *
+ * Class relations expressed via an inline dot graph:
+ * \dot
+ * digraph example {
+ * node [shape=record, fontname=Helvetica, fontsize=10];
+ * b [ label="class B" URL="\ref B"];
+ * c [ label="class C" URL="\ref C"];
+ * b -> c [ arrowhead="open", style="dashed" ];
+ * }
+ * \enddot
+ * Note that the classes in the above graph are clickable
+ * (in the HTML output).
+ */
+\endcode
+
+<hr>
+\section cmdmsc \\msc
+
+ \addindex \\msc
+ Starts a text fragment which should contain a valid description of a
+ message sequence chart. See http://www.mcternan.me.uk/mscgen/ for examples.
+ The text fragment ends with \ref cmdendmsc "\\endmsc".
+ \note The text fragment should only include the part of the message
+ sequence chart that is
+ within the <code>msc {...}</code> block.
+ \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.
+\code
+/** Sender class. Can be used to send a command to the server.
+ * The receiver will acknowledge the command by calling Ack().
+ * \msc
+ * Sender,Receiver;
+ * Sender->Receiver [label="Command()", URL="\ref Receiver::Command()"];
+ * Sender<-Receiver [label="Ack()", URL="\ref Ack()", ID="1"];
+ * \endmsc
+ */
+class Sender
+{
+ public:
+ /** Acknowledgement from server */
+ void Ack(bool ok);
+};
+
+/** Receiver class. Can be used to receive and execute commands.
+ * After execution of a command, the receiver will send an acknowledgement
+ * \msc
+ * Receiver,Sender;
+ * Receiver<-Sender [label="Command()", URL="\ref Command()"];
+ * Receiver->Sender [label="Ack()", URL="\ref Sender::Ack()", ID="1"];
+ * \endmsc
+ */
+class Receiver
+{
+ public:
+ /** Executable a command on the server */
+ void Command(int commandId);
+};
+
+\endcode
+
+ \sa section \ref cmdmscfile "\\mscfile".
+
+<hr>
+\section cmddotfile \\dotfile <file> ["caption"]
+
+ \addindex \\dotfile
+ Inserts an image generated by dot from \<file\> into the documentation.
+
+ The first argument specifies the file name of the image.
+ doxygen will look for files in the paths (or files) that you specified
+ after the \ref cfg_dotfile_dirs "DOTFILE_DIRS" tag.
+ If the dot file is found it will be used as an input file to the dot tool.
+ The resulting image will be put into the correct output directory.
+ If the dot file name contains spaces you'll have to put quotes ("...") around it.
+
+ The second argument is optional and can be used to specify the caption
+ that is displayed below the image. This argument has to be specified
+ between quotes even if it does not contain any spaces. The quotes are
+ stripped before the caption is displayed.
+
+<hr>
+\section cmdmscfile \\mscfile <file> ["caption"]
+
+ \addindex \\mscfile
+ Inserts an image generated by mscgen from \<file\> into the documentation.
+ See http://www.mcternan.me.uk/mscgen/ for examples.
+
+ The first argument specifies the file name of the image.
+ doxygen will look for files in the paths (or files) that you specified
+ after the \ref cfg_mscfile_dirs "MSCFILE_DIRS" tag.
+ If the msc file is found it will be used as an input file to the mscgen tool.
+ The resulting image will be put into the correct output directory.
+ If the msc file name contains spaces you'll have to put quotes ("...") around it.
+
+ The second argument is optional and can be used to specify the caption
+ that is displayed below the image. This argument has to be specified
+ between quotes even if it does not contain any spaces. The quotes are
+ stripped before the caption is displayed.
+
+ \sa section \ref cmdmsc "\\msc".
+
+<hr>
+\section cmde \\e <word>
+
+ \addindex \\e
+ Displays the argument \<word\> in italics.
+ Use this command to emphasize words.
+
+ \par Example:
+ Typing:
+ \verbatim
+ ... this is a \e really good example ...
+ \endverbatim
+ will result in the following text:<br><br>
+ ... this is a \e really good example ...
+
+ Equivalent to \ref cmda "\\a" and \ref cmdem "\\em".
+ To emphasize multiple words use \<em\>multiple words\</em\>.
+
+<hr>
+\section cmdem \\em <word>
+
+ \addindex \\em
+ Displays the argument \<word\> in italics.
+ Use this command to emphasize words.
+
+ \par Example:
+ Typing:
+ \verbatim
+ ... this is a \em really good example ...
+ \endverbatim
+ will result in the following text:<br><br>
+ ... this is a \em really good example ...
+
+ Equivalent to \ref cmda "\\a" and \ref cmde "\\e".
+ To emphasize multiple words use \<em\>multiple words\</em\>.
+
+<hr>
+\section cmdendcode \\endcode
+
+ \addindex \\endcode
+ Ends a block of code.
+ \sa section \ref cmdcode "\\code"
+
+<hr>
+\section cmdenddot \\enddot
+
+ \addindex \\enddot
+ Ends a blocks that was started with \ref cmddot "\\dot".
+
+<hr>
+\section cmdendmsc \\endmsc
+
+ \addindex \\endmsc
+ Ends a blocks 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.
+
+ \sa section \ref cmdhtmlonly "\\htmlonly".
+
+<hr>
+\section cmdendlatexonly \\endlatexonly
+
+ \addindex \\endlatexonly
+ Ends a block of text that was started with a \\latexonly command.
+
+ \sa section \ref cmdlatexonly "\\latexonly".
+
+<hr>
+\section cmdendmanonly \\endmanonly
+
+ \addindex \\endmanonly
+ Ends a block of text that was started with a \\manonly command.
+
+ \sa section \ref cmdmanonly "\\manonly".
+
+<hr>
+\section cmdendrtfonly \\endrtfonly
+
+ \addindex \\endrtfonly
+ Ends a block of text that was started with a \\rtfonly command.
+
+ \sa section \ref cmdrtfonly "\\rtfonly".
+
+
+<hr>
+\section cmdendverbatim \\endverbatim
+
+ \addindex \\endverbatim
+ Ends a block of text that was started with a \\verbatim command.
+
+ \sa section \ref cmdverbatim "\\verbatim".
+
+<hr>
+\section cmdendxmlonly \\endxmlonly
+
+ \addindex \\endxmlonly
+ Ends a block of text that was started with a \\xmlonly command.
+
+ \sa section \ref cmdxmlonly "\\xmlonly".
+
+<hr>
+\section cmdfdollar \\f$
+
+ \addindex \\f\$
+
+ Marks the start and end of an in-text formula.
+ \sa section \ref formulas "formulas" for an example.
+
+<hr>
+\section cmdfbropen \\f[
+
+ \addindex \\f[
+
+ Marks the start of a long formula that is displayed
+ centered on a separate line.
+ \sa section \ref cmdfbrclose "\\f]" and section \ref formulas "formulas".
+
+<hr>
+\section cmdfbrclose \\f]
+
+ \addindex \\f]
+
+ Marks the end of a long formula that is displayed
+ centered on a separate line.
+ \sa section \ref cmdfbropen "\\f[" and section \ref formulas "formulas".
+
+<hr>
+\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
+ do proper syntax highlighting by making the number of opening and closing braces
+ the same.
+
+<hr>
+\section cmdfcurlyclose \\f}
+
+ Marks the end of a formula that is in a specific environment.
+
+<hr>
+\section cmdhtmlonly \\htmlonly
+
+ \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.
+
+ 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
+ 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", and section
+ \ref cmdrtfonly "\\rtfonly".
+
+<hr>
+\section cmdimage \\image <format> <file> ["caption"] [<sizeindication>=<size>]
+
+ \addindex \\image
+ Inserts an image into the documentation. This command is format
+ specific, so if you want to insert an image for more than one
+ format you'll have to repeat this command for each format.
+
+ The first argument specifies the output format. Currently, the
+ following values are supported: \c html, \c latex and \c rtf.
+
+ The second argument specifies the file name of the image.
+ doxygen will look for files in the paths (or files) that you specified
+ after the \ref cfg_image_path "IMAGE_PATH" tag.
+ If the image is found it will be copied to the correct output directory.
+ If the image name contains spaces you'll have to put quotes ("...") around it.
+ You can also specify an absolute URL instead of a file name, but then
+ doxygen does not copy the image nor check its existence.
+
+ The third argument is optional and can be used to specify the caption
+ that is displayed below the image. This argument has to be specified
+ on a single line and between quotes even if it does not contain any
+ spaces. The quotes are stripped before the caption is displayed.
+
+ The fourth argument is also optional and can be used to specify the
+ width or height of the image. This is only useful
+ for \f$\mbox{\LaTeX}\f$ output
+ (i.e. format=<code>latex</code>). The \c sizeindication can be
+ either \c width or \c height. The size should be a valid
+ size specifier in \f$\mbox{\LaTeX}\f$ (for example <code>10cm</code> or
+ <code>6in</code> or a symbolic width like <code>\\textwidth</code>).
+
+ Here is example of a comment block:
+
+\verbatim
+ /*! Here is a snapshot of my new application:
+ * \image html application.jpg
+ * \image latex application.eps "My application" width=10cm
+ */
+\endverbatim
+
+ And this is an example of how the relevant part of the configuration file
+ may look:
+
+\verbatim
+ IMAGE_PATH = my_image_dir
+\endverbatim
+
+ \warning The image format for HTML is limited to what your
+ browser supports. For \f$\mbox{\LaTeX}\f$, the image format
+ must be Encapsulated PostScript (eps).
+ <br><br>
+ Doxygen does not check if the image is in the correct format.
+ So \e you have to make sure this is the case!
+
+<hr>
+\section cmdlatexonly \\latexonly
+
+ \addindex \\latexonly
+ Starts a block of text that will be verbatim included in the
+ generated \f$\mbox{\LaTeX}\f$ documentation only. The block ends with a
+ \ref cmdendlatexonly "\\endlatexonly" command.
+
+ 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.
+
+ \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".
+
+<hr>
+\section cmdmanonly \\manonly
+
+ \addindex \\manonly
+ Starts a block of text that will be verbatim included in the
+ generated MAN documentation only. The block ends with a
+ \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
+ 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".
+
+<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.
+ The command can be used to generate a simple, not nested list of
+ arguments.
+ Each argument should start with a \\li command.
+
+ \par Example:
+ Typing:
+ \verbatim
+ \li \c AlignLeft left alignment.
+ \li \c AlignCenter center alignment.
+ \li \c AlignRight right alignment
+
+ No other types of alignment are supported.
+ \endverbatim
+ will result in the following text:<br><br>
+ <ul>
+ <li> \c AlignLeft left alignment.
+ <li> \c AlignCenter center alignment.
+ <li> \c AlignRight right alignment
+ </ul><br>
+ No other types of alignment are supported.
+
+ \par Note:
+ For nested lists, HTML commands should be used.
+
+ Equivalent to \ref cmdarg "\\arg"
+
+<hr>
+\section cmdn \\n
+
+ \addindex \\n
+ Forces a new line. Equivalent to \<br\> and inspired by
+ the printf function.
+
+<hr>
+\section cmdp \\p <word>
+
+ \addindex \\p
+ Displays the parameter \<word\> using a typewriter font.
+ You can use this command to refer to member function parameters in
+ the running text.
+
+ \par Example:
+ \verbatim
+ ... the \p x and \p y coordinates are used to ...
+ \endverbatim
+ This will result in the following text:<br><br>
+ ... the \p x and \p y coordinates are used to ...
+
+ Equivalent to \ref cmdc "\\c"
+ To have multiple words in typewriter font use \<tt\>multiple words\</tt\>.
+
+<hr>
+\section cmdrtfonly \\rtfonly
+
+ \addindex \\rtfonly
+ Starts a block of text that will be verbatim included in the
+ generated RTF documentation only. The block ends with a
+ \ref cmdendrtfonly "\\endrtfonly" command.
+
+ This command can be used to include RTF code that is too complex
+ for doxygen.
+
+ \b Note:
+ 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".
+
+<hr>
+\section cmdverbatim \\verbatim
+
+ \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.
+ 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!
+
+ \sa section \ref cmdcode "\\code", and
+ section \ref cmdverbinclude "\\verbinclude".
+
+<hr>
+\section cmdxmlonly \\xmlonly
+
+ \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.
+
+ 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".
+
+<hr>
+\section cmdbackslash \\\\
+
+ \addindex \\\\
+ This command writes a backslash character (\\) to the
+ output. The backslash has to be escaped in some
+ cases because doxygen uses it to detect commands.
+
+<hr>
+\section cmdat \\\@
+
+ \addindex \\\@
+ This command writes an at-sign (\@) to the output.
+ The at-sign has to be escaped in some cases
+ because doxygen uses it to detect JavaDoc commands.
+
+<hr>
+\section cmdtilde \\~[LanguageId]
+ \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).
+
+ Example:
+\verbatim
+/*! \~english This is english \~dutch Dit is Nederlands \~german Dieses ist
+ deutsch. \~ output for all languages.
+ */
+\endverbatim
+
+
+<hr>
+\section cmdamp \\\&
+
+ \addindex \\\&
+ This command writes the \& 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 character has to be escaped in some cases, because it is used to expand
+ environment variables.
+
+<hr>
+\section cmdhash \\\#
+
+ \addindex \\\#
+ This command writes the \# character to the output. This
+ character has to be escaped in some cases, because it is used to refer
+ to documented entities.
+
+<hr>
+\section cmdlt \\\<
+
+ \addindex \\\<
+ This command writes the \< 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
+ 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
+ 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.
+
+<hr>
+\section cmdquot \\"
+
+ \addindex \\\"
+ This command writes the \" 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.
+
+<hr>
+\section cmddcolon \\::
+
+ \addindex \\\::
+ This command write a double colon (\::) to the output. This
+ character sequence has to be escaped in some cases, because it is used
+ to ref to documented entities.
+
+<hr>
+\htmlonly <center> \endhtmlonly
+<h2>
+\htmlonly --- \endhtmlonly
+Commands included for Qt compatibility
+\htmlonly --- \endhtmlonly
+</h2>
+\htmlonly </center>\endhtmlonly
+
+The following commands are supported to remain compatible to the Qt class
+browser generator. Do \e not use these commands in your own documentation.
+<ul>
+<li>\\annotatedclasslist
+<li>\\classhierarchy
+<li>\\define
+<li>\\functionindex
+<li>\\header
+<li>\\headerfilelist
+<li>\\inherit
+<li>\\l
+<li>\\postheader
+</ul>
+<hr>
+
+*/
+