1 /******************************************************************************
5 * Copyright (C) 1997-2015 by Dimitri van Heesch.
7 * Permission to use, copy, modify, and distribute this software and its
8 * documentation under the terms of the GNU General Public License is hereby
9 * granted. No representations are made about the suitability of this software
10 * for any purpose. It is provided "as is" without express or implied warranty.
11 * See the GNU General Public License for more details.
13 * Documents produced by Doxygen are derivative works derived from the
14 * input used in their production; they are not affected by this license.
17 /*! \page commands Special Commands
19 \section cmd_intro Introduction
21 All commands in the documentation start with a backslash (<b>\\</b>) or an
22 at-sign (<b>\@</b>). If you prefer you can replace all commands starting with a
23 backslash below by their counterparts that start with an at-sign.
25 Some commands have one or more arguments.
26 Each argument has a certain range:
28 <li>If \<sharp\> braces are used the argument is a single word.
29 <li>If (round) braces are used the argument extends until the end of the line
30 on which the command was found.
31 <li>If {curly} braces are used the argument extends until the next paragraph.
32 Paragraphs are delimited by a blank line or by a section indicator.
34 If in addition to the above argument specifiers [square] brackets are used the argument is optional.
36 Here is an alphabetically sorted list of all commands with references to their
38 \anchor showsecreflist
41 \refitem cmdaddindex \\addindex
42 \refitem cmdaddtogroup \\addtogroup
43 \refitem cmdanchor \\anchor
45 \refitem cmdattention \\attention
46 \refitem cmdauthor \\author
47 \refitem cmdauthors \\authors
49 \refitem cmdbrief \\brief
52 \refitem cmdcallergraph \\callergraph
53 \refitem cmdcallgraph \\callgraph
54 \refitem cmdcategory \\category
55 \refitem cmdcite \\cite
56 \refitem cmdclass \\class
57 \refitem cmdcode \\code
58 \refitem cmdcond \\cond
59 \refitem cmdcopybrief \\copybrief
60 \refitem cmdcopydetails \\copydetails
61 \refitem cmdcopydoc \\copydoc
62 \refitem cmdcopyright \\copyright
63 \refitem cmddate \\date
65 \refitem cmddefgroup \\defgroup
66 \refitem cmddeprecated \\deprecated
67 \refitem cmddetails \\details
68 \refitem cmddiafile \\diafile
70 \refitem cmddocbookonly \\docbookonly
71 \refitem cmddontinclude \\dontinclude
73 \refitem cmddotfile \\dotfile
75 \refitem cmdelse \\else
76 \refitem cmdelseif \\elseif
78 \refitem cmdemoji \\emoji
79 \refitem cmdendcode \\endcode
80 \refitem cmdendcond \\endcond
81 \refitem cmdenddocbookonly \\enddocbookonly
82 \refitem cmdenddot \\enddot
83 \refitem cmdendhtmlonly \\endhtmlonly
84 \refitem cmdendif \\endif
85 \refitem cmdendinternal \\endinternal
86 \refitem cmdendlatexonly \\endlatexonly
87 \refitem cmdendlink \\endlink
88 \refitem cmdendmanonly \\endmanonly
89 \refitem cmdendmsc \\endmsc
90 \refitem cmdendparblock \\endparblock
91 \refitem cmdendrtfonly \\endrtfonly
92 \refitem cmdendsecreflist \\endsecreflist
93 \refitem cmdendverbatim \\endverbatim
94 \refitem cmdenduml \\enduml
95 \refitem cmdendxmlonly \\endxmlonly
96 \refitem cmdenum \\enum
97 \refitem cmdexample \\example
98 \refitem cmdexception \\exception
99 \refitem cmdextends \\extends
100 \refitem cmdfdollar \\f\$
101 \refitem cmdfbropen \\f[
102 \refitem cmdfbrclose \\f]
103 \refitem cmdfcurlyopen \\f{
104 \refitem cmdfcurlyclose \\f}
105 \refitem cmdfile \\file
107 \refitem cmdheaderfile \\headerfile
108 \refitem cmdhidecallergraph \\hidecallergraph
109 \refitem cmdhidecallgraph \\hidecallgraph
110 \refitem cmdhiderefby \\hiderefby
111 \refitem cmdhiderefs \\hiderefs
112 \refitem cmdhideinitializer \\hideinitializer
113 \refitem cmdhtmlinclude \\htmlinclude
114 \refitem cmdhtmlonly \\htmlonly
115 \refitem cmdidlexcept \\idlexcept
117 \refitem cmdifnot \\ifnot
118 \refitem cmdimage \\image
119 \refitem cmdimplements \\implements
120 \refitem cmdinclude \\include
121 \refitem cmdincludedoc \\includedoc
122 \refitem cmdincludelineno \\includelineno
123 \refitem cmdingroup \\ingroup
124 \refitem cmdinternal \\internal
125 \refitem cmdinvariant \\invariant
126 \refitem cmdinterface \\interface
127 \refitem cmdlatexinclude \\latexinclude
128 \refitem cmdlatexonly \\latexonly
130 \refitem cmdline \\line
131 \refitem cmdlink \\link
132 \refitem cmdmainpage \\mainpage
133 \refitem cmdmanonly \\manonly
134 \refitem cmdmemberof \\memberof
135 \refitem cmdmsc \\msc
136 \refitem cmdmscfile \\mscfile
138 \refitem cmdname \\name
139 \refitem cmdnamespace \\namespace
140 \refitem cmdnosubgrouping \\nosubgrouping
141 \refitem cmdnote \\note
142 \refitem cmdoverload \\overload
144 \refitem cmdpackage \\package
145 \refitem cmdpage \\page
146 \refitem cmdpar \\par
147 \refitem cmdparagraph \\paragraph
148 \refitem cmdparam \\param
149 \refitem cmdparblock \\parblock
150 \refitem cmdpost \\post
151 \refitem cmdpre \\pre
152 \refitem cmdprivate \\private
153 \refitem cmdprivatesection \\privatesection
154 \refitem cmdproperty \\property
155 \refitem cmdprotected \\protected
156 \refitem cmdprotectedsection \\protectedsection
157 \refitem cmdprotocol \\protocol
158 \refitem cmdpublic \\public
159 \refitem cmdpublicsection \\publicsection
160 \refitem cmdpure \\pure
161 \refitem cmdref \\ref
162 \refitem cmdrefitem \\refitem
163 \refitem cmdrelated \\related
164 \refitem cmdrelates \\relates
165 \refitem cmdrelatedalso \\relatedalso
166 \refitem cmdrelatesalso \\relatesalso
167 \refitem cmdremark \\remark
168 \refitem cmdremarks \\remarks
169 \refitem cmdresult \\result
170 \refitem cmdreturn \\return
171 \refitem cmdreturns \\returns
172 \refitem cmdretval \\retval
173 \refitem cmdrtfonly \\rtfonly
175 \refitem cmdsecreflist \\secreflist
176 \refitem cmdsection \\section
177 \refitem cmdsee \\see
178 \refitem cmdshort \\short
179 \refitem cmdshowinitializer \\showinitializer
180 \refitem cmdshowrefby \\showrefby
181 \refitem cmdshowrefs \\showrefs
182 \refitem cmdsince \\since
183 \refitem cmdskip \\skip
184 \refitem cmdskipline \\skipline
185 \refitem cmdsnippet \\snippet
186 \refitem cmdsnippetdoc \\snippetdoc
187 \refitem cmdsnippetlineno \\snippetlineno
188 \refitem cmdstartuml \\startuml
189 \refitem cmdstruct \\struct
190 \refitem cmdsubpage \\subpage
191 \refitem cmdsubsection \\subsection
192 \refitem cmdsubsubsection \\subsubsection
193 \refitem cmdtableofcontents \\tableofcontents
194 \refitem cmdtest \\test
195 \refitem cmdthrow \\throw
196 \refitem cmdthrows \\throws
197 \refitem cmdtodo \\todo
198 \refitem cmdtparam \\tparam
199 \refitem cmdtypedef \\typedef
200 \refitem cmdunion \\union
201 \refitem cmduntil \\until
202 \refitem cmdvar \\var
203 \refitem cmdverbatim \\verbatim
204 \refitem cmdverbinclude \\verbinclude
205 \refitem cmdversion \\version
206 \refitem cmdvhdlflow \\vhdlflow
207 \refitem cmdwarning \\warning
208 \refitem cmdweakgroup \\weakgroup
209 \refitem cmdxmlonly \\xmlonly
210 \refitem cmdxrefitem \\xrefitem
211 \refitem cmddollar \\\$
213 \refitem cmdbackslash \\\\
215 \refitem cmdtilde \\~
219 \refitem cmdhash \\\#
220 \refitem cmdperc \\\%
221 \refitem cmdquot \\\"
222 \refitem cmdchardot \\\.
223 \refitem cmddcolon \::
225 \refitem cmdndash \\\--
226 \refitem cmdmdash \\\---
229 The following subsections provide a list of all commands that are recognized by
230 doxygen. Unrecognized commands are treated as normal text.
233 \htmlonly</p><center><p>\endhtmlonly
235 \htmlonly --- \endhtmlonly
236 Structural indicators
237 \htmlonly --- \endhtmlonly
239 \htmlonly</p></center><p>\endhtmlonly
241 \section cmdaddtogroup \\addtogroup <name> [(title)]
242 \addindex \\addtogroup
243 Defines a group just like \ref cmddefgroup "\\defgroup", but in contrast to
244 that command using the same \<name\> more than once will not result in a warning,
245 but rather one group with a merged documentation and the first title found in
248 The title is optional, so this command can also be used to add a number of
249 entities to an existing group using \c \@{ and \c \@} like this:
252 /*! \addtogroup mygrp
253 * Additional documentation for group 'mygrp'
264 /*! Another function */
272 \sa page \ref grouping "Grouping", sections \ref cmddefgroup "\\defgroup", \ref cmdingroup "\\ingroup", and
273 \ref cmdweakgroup "\\weakgroup".
276 \section cmdcallgraph \\callgraph
278 \addindex \\callgraph
279 When this command is put in a comment block of a function or method
280 and \ref cfg_have_dot "HAVE_DOT" is set to \c YES, then doxygen will
281 generate a call graph for that function (provided the implementation of the
282 function or method calls other documented functions). The call graph will be
283 generated regardless of the value of \ref cfg_call_graph "CALL_GRAPH".
284 \note The completeness (and correctness) of the call graph depends on the
285 doxygen code parser which is not perfect.
287 \sa section \ref cmdcallergraph "\\callergraph",
288 section \ref cmdhidecallgraph "\\hidecallgraph",
289 section \ref cmdhidecallergraph "\\hidecallergraph" and
290 option \ref cfg_call_graph "CALL_GRAPH"
293 \section cmdhidecallgraph \\hidecallgraph
295 \addindex \\hidecallgraph
296 When this command is put in a comment block of a function or method
297 and then doxygen will not generate a call graph for that function. The
298 call graph will not be generated regardless of the value of
299 \ref cfg_call_graph "CALL_GRAPH".
300 \note The completeness (and correctness) of the call graph depends on the
301 doxygen code parser which is not perfect.
303 \sa section \ref cmdcallergraph "\\callergraph",
304 section \ref cmdcallgraph "\\callgraph",
305 section \ref cmdhidecallergraph "\\hidecallergraph" and
306 option \ref cfg_call_graph "CALL_GRAPH"
309 \section cmdcallergraph \\callergraph
311 \addindex \\callergraph
312 When this command is put in a comment block of a function or method
313 and \ref cfg_have_dot "HAVE_DOT" is set to \c YES, then doxygen will
314 generate a caller graph for that function (provided the implementation of the
315 function or method is called by other documented functions). The caller graph will be
316 generated regardless of the value of \ref cfg_caller_graph "CALLER_GRAPH".
317 \note The completeness (and correctness) of the caller graph depends on the
318 doxygen code parser which is not perfect.
320 \sa section \ref cmdcallgraph "\\callgraph",
321 section \ref cmdhidecallgraph "\\hidecallgraph",
322 section \ref cmdhidecallergraph "\\hidecallergraph" and
323 option \ref cfg_caller_graph "CALLER_GRAPH"
326 \section cmdhidecallergraph \\hidecallergraph
328 \addindex \\hidecallergraph
329 When this command is put in a comment block of a function or method
330 and then doxygen will not generate a caller graph for that function. The
331 caller graph will not be generated regardless of the value of
332 \ref cfg_caller_graph "CALLER_GRAPH".
333 \note The completeness (and correctness) of the caller graph depends on the
334 doxygen code parser which is not perfect.
336 \sa section \ref cmdcallergraph "\\callergraph",
337 section \ref cmdcallgraph "\\callgraph",
338 section \ref cmdhidecallgraph "\\hidecallgraph" and
339 option \ref cfg_caller_graph "CALLER_GRAPH"
342 \section cmdshowrefby \\showrefby
344 \addindex \\showrefby
345 When this command is put in a comment block of a function, method or variable,
346 then doxygen will generate an overview for that function, method, variable of
347 the, documented, funcions and methods that call / use it.
348 The overview will be generated regardless of the value of
349 \ref cfg_referenced_by_relation "REFERENCED_BY_RELATION".
350 \note The completeness (and correctness) of the overview depends on the
351 doxygen code parser which is not perfect.
353 \sa section \ref cmdshowrefs "\\showrefs",
354 section \ref cmdhiderefby "\\hiderefby",
355 section \ref cmdhiderefs "\\hiderefs" and
356 option \ref cfg_referenced_by_relation "REFERENCED_BY_RELATION"
359 \section cmdhiderefby \\hiderefby
361 \addindex \\hiderefby
362 When this command is put in a comment block of a function, method or variable
363 then doxygen will not generate an overview for that function, method or
364 variable of the functions and methods that call / use it.
365 The overview will not be generated regardless of the value of
366 \ref cfg_referenced_by_relation "REFERENCED_BY_RELATION".
367 \note The completeness (and correctness) of the overview depends on the
368 doxygen code parser which is not perfect.
370 \sa section \ref cmdshowrefs "\\showrefs",
371 section \ref cmdshowrefby "\\showrefby",
372 section \ref cmdhiderefs "\\hiderefs" and
373 option \ref cfg_referenced_by_relation "REFERENCED_BY_RELATION"
376 \section cmdshowrefs \\showrefs
379 When this command is put in a comment block of a function or method,
380 then doxygen will generate an overview for that function or method of the
381 functions and methods that call it.
382 The overview will be generated regardless of the value of
383 \ref cfg_references_relation "REFERENCES_RELATION".
384 \note The completeness (and correctness) of the overview depends on the
385 doxygen code parser which is not perfect.
387 \sa section \ref cmdshowrefby "\\showrefby",
388 section \ref cmdhiderefby "\\hiderefby",
389 section \ref cmdhiderefs "\\hiderefs" and
390 option \ref cfg_references_relation "REFERENCES_RELATION"
393 \section cmdhiderefs \\hiderefs
396 When this command is put in a comment block of a function or method
397 and then doxygen will not generate an overview for that function or method of
398 the functions and methods that call it.
399 The overview will not be generated regardless of the value of
400 \ref cfg_references_relation "REFERENCES_RELATION".
401 \note The completeness (and correctness) of the overview depends on the
402 doxygen code parser which is not perfect.
404 \sa section \ref cmdshowrefs "\\showrefs",
405 section \ref cmdshowrefby "\\showrefby",
406 section \ref cmdhiderefby "\\hiderefby" and
407 option \ref cfg_references_relation "REFERENCES_RELATION"
410 \section cmdcategory \\category <name> [<header-file>] [<header-name>]
413 For Objective-C only: Indicates that a comment block contains documentation
414 for a class category with name \<name\>. The arguments are
415 equal to the \ref cmdclass "\\class" command.
417 \sa section \ref cmdclass "\\class".
420 \section cmdclass \\class <name> [<header-file>] [<header-name>]
423 Indicates that a comment block contains documentation for a
424 class with name \<name\>. Optionally a header file and a header name
425 can be specified. If the header-file is specified, a link to a verbatim copy
426 of the header will be included in the HTML documentation.
427 The \<header-name\> argument can be used to overwrite the
428 name of the link that is used in the class documentation to something other
429 than \<header-file\>. This can be useful if the include name is not located
430 on the default include path (like \<X11/X.h\>). With the \<header-name\>
431 argument you can also specify how the include statement should look like,
432 by adding either quotes or sharp brackets around the name.
433 Sharp brackets are used if just the name is given. Note that the
434 last two arguments can also be specified using
435 the \ref cmdheaderfile "\\headerfile" command.
440 Click <a href="examples/class/html/index.html">here</a>
441 for the corresponding HTML documentation that is generated by doxygen.
444 See \hyperlink{class_example}{Class example}
445 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
449 \section cmddef \\def <name>
452 Indicates that a comment block contains documentation for a
458 Click <a href="examples/define/html/define_8h.html">here</a>
459 for the corresponding HTML documentation that is generated by doxygen.
462 See \hyperlink{define_8h}{Define example}
463 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
467 \section cmddefgroup \\defgroup <name> (group title)
470 Indicates that a comment block contains documentation for a
471 \ref modules "group" of classes, files or namespaces. This can be used to
472 categorize classes, files or namespaces, and document those
473 categories. You can also use groups as members of other groups,
474 thus building a hierarchy of groups.
476 The \<name\> argument should be a single-word identifier.
478 \sa page \ref grouping "Grouping", sections \ref cmdingroup "\\ingroup", \ref cmdaddtogroup "\\addtogroup", and
479 \ref cmdweakgroup "\\weakgroup".
482 \section cmddir \\dir [<path fragment>]
485 Indicates that a comment block contains documentation for a directory.
486 The "path fragment" argument should include the directory name and
487 enough of the path to be unique with respect to the other directories
489 The \ref cfg_strip_from_path "STRIP_FROM_PATH" option determines what is
490 stripped from the full path before it appears in the output.
493 \section cmdenum \\enum <name>
496 Indicates that a comment block contains documentation for an
497 enumeration, with name \<name\>. If the enum is a member of a class and
498 the documentation block is located outside the class definition,
499 the scope of the class should be specified as well.
500 If a comment block is located directly in front of an enum declaration,
501 the \c \\enum comment may be omitted.
504 The type of an anonymous enum cannot be documented, but the values
505 of an anonymous enum can.
510 Click <a href="examples/enum/html/class_enum___test.html">here</a>
511 for the corresponding HTML documentation that is generated by doxygen.
514 See \hyperlink{class_enum___test}{Enum example}
515 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
519 \section cmdexample \\example[{lineno}] <file-name>
522 Indicates that a comment block contains documentation for a source code
523 example. The name of the source file is \<file-name\>.
524 The contents of this file will be included in the documentation, just after the
525 documentation contained in the comment block.
526 You can add option `{lineno}` to enable line numbers for the example if desired.
527 All examples are placed in a list. The source code is scanned for documented members and classes.
528 If any are found, the names are cross-referenced with the documentation.
529 Source files or directories can be specified using the
530 \ref cfg_example_path "EXAMPLE_PATH"
531 tag of doxygen's configuration file.
533 If \<file-name\> itself is not unique for the set of example files specified
535 \ref cfg_example_path "EXAMPLE_PATH" tag, you can include part of the absolute path
538 If more than one source file is needed for the example,
539 the \ref cmdinclude "\\include" command can be used.
543 Where the example file \c example_test.cpp looks as follows:
544 \include example_test.cpp
546 Click <a href="examples/example/html/examples.html">here</a>
547 for the corresponding HTML documentation that is generated by doxygen.
550 See \hyperlink{example_test_8cpp-example}{Example example}
551 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
554 \sa section \ref cmdinclude "\\include".
557 \section cmdendinternal \\endinternal
559 \addindex \\endinternal
560 This command ends a documentation fragment that was started with a
561 \ref cmdinternal "\\internal" command. The text between \ref cmdinternal "\\internal" and
562 \c \\endinternal will only be visible
563 if \ref cfg_internal_docs "INTERNAL_DOCS" is set to \c YES.
566 \section cmdextends \\extends <name>
569 This command can be used to manually indicate an inheritance relation,
570 when the programming language does not support this concept natively
573 The file \c manual.c in the example directory shows how to use this command.
576 Click <a href="examples/manual/html/index.html">here</a>
577 for the corresponding HTML documentation that is generated by doxygen.
580 See \hyperlink{extends_example}{Extends example}
581 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
584 \sa section \ref cmdimplements "\\implements" and section
585 \ref cmdmemberof "\\memberof"
588 \section cmdfile \\file [<name>]
591 Indicates that a comment block contains documentation for a source or
592 header file with name \<name\>. The file name may include (part of) the
593 path if the file-name alone is not unique. If the file name is omitted
594 (i.e. the line after \c \\file is left blank) then the documentation block that
595 contains the \c \\file command will belong to the file it is located in.
598 The documentation of global functions, variables, typedefs, and enums will
599 only be included in the output if the file they are in is documented as well.
604 Click <a href="examples/file/html/file_8h.html">here</a>
605 for the corresponding HTML documentation that is generated by doxygen.
608 See \hyperlink{file_example}{File example}
609 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
612 \note In the above example \ref cfg_javadoc_autobrief "JAVADOC_AUTOBRIEF"
613 has been set to \c YES in the configuration file.
616 \section cmdfn \\fn (function declaration)
619 Indicates that a comment block contains documentation for a function
620 (either global or as a member of a class). This command is \em only
621 needed if a comment block is \e not placed in front (or behind)
622 the function declaration or definition.
624 If your comment block \e is in front of the function
625 declaration or definition this command can (and to avoid redundancy
628 A full function declaration including arguments should be specified after the
629 \c \\fn command on a \e single line, since the argument ends at the end
632 This command is equivalent to \ref cmdvar "\\var", \ref cmdtypedef "\\typedef",
633 and \ref cmdproperty "\\property".
635 \warning Do not use this command
636 if it is not absolutely needed, since it will lead to duplication of
637 information and thus to errors.
642 Click <a href="examples/func/html/class_fn___test.html">here</a>
643 for the corresponding HTML documentation that is generated by doxygen.
646 See \hyperlink{class_fn___test}{Fn example}
647 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
650 \sa sections \ref cmdvar "\\var", \ref cmdproperty "\\property", and
651 \ref cmdtypedef "\\typedef".
654 \section cmdheaderfile \\headerfile <header-file> [<header-name>]
656 \addindex \\headerfile
657 Intended to be used for class, struct, or union documentation, where
658 the documentation is in front of the definition. The arguments of
659 this command are the same as the second and third argument of
660 \ref cmdclass "\\class".
661 The \<header-file\> name refers to the file that should be included by the
662 application to obtain the definition of the class, struct, or union.
663 The \<header-name\> argument can be used to overwrite the
664 name of the link that is used in the class documentation to something other
665 than \<header-file\>. This can be useful if the include name is not located
666 on the default include path (like \<X11/X.h\>).
668 With the \<header-name\>
669 argument you can also specify how the include statement should look like,
670 by adding either double quotes or sharp brackets around the name.
671 By default sharp brackets are used if just the name is given.
673 If a pair of double quotes is given for either the \<header-file\> or
674 \<header-name\> argument, the current file (in which the command was found)
675 will be used but with quotes. So for a comment block with a \c \\headerfile
676 command inside a file <code>test.h</code>, the following three commands are equivalent:
678 \headerfile test.h "test.h"
679 \headerfile test.h ""
680 \headerfile "" \endverbatim
681 To get sharp brackets you do not need to specify anything,
682 but if you want to be explicit you could use any of the following:
684 \headerfile test.h <test.h>
685 \headerfile test.h <>
686 \headerfile <> \endverbatim
688 To globally reverse the default include representation to
689 local includes you can set
690 \ref cfg_force_local_includes "FORCE_LOCAL_INCLUDES" to \c YES.
692 To disable the include information altogether set
693 \ref cfg_show_include_files "SHOW_INCLUDE_FILES" to \c NO.
696 \section cmdhideinitializer \\hideinitializer
698 \addindex \\hideinitializer
699 By default the value of a define and the initializer of a variable
700 are displayed unless they are longer than 30 lines. By putting
701 this command in a comment block of a define or variable, the
702 initializer is always hidden. The maximum number of initialization lines
703 can be changed by means of the configuration parameter
704 \ref cfg_max_initializer_lines "MAX_INITIALIZER_LINES", the default
707 \sa section \ref cmdshowinitializer "\\showinitializer".
710 \section cmdidlexcept \\idlexcept <name>
711 \addindex \\idlexcept
713 Indicates that a comment block contains documentation for a
714 IDL exception with name \<name\>.
717 \section cmdimplements \\implements <name>
719 \addindex \\implements
720 This command can be used to manually indicate an inheritance relation,
721 when the programming language does not support this concept natively
724 The file \c manual.c in the example directory shows how to use this command.
727 Click <a href="examples/manual/html/index.html">here</a>
728 for the corresponding HTML documentation that is generated by doxygen.
731 See \hyperlink{extends_example}{Implements example}
732 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
735 \sa section \ref cmdextends "\\extends" and section
736 \ref cmdmemberof "\\memberof"
739 \section cmdingroup \\ingroup (<groupname> [<groupname> <groupname>])
742 If the \c \\ingroup command is placed in a comment block of a
743 class, file or namespace, then it will be added to the group or
744 groups identified by \<groupname\>.
746 \sa page \ref grouping "Grouping", sections \ref cmddefgroup "\\defgroup",
747 \ref cmdaddtogroup "\\addtogroup", and \ref cmdweakgroup "\\weakgroup"
750 \section cmdinterface \\interface <name> [<header-file>] [<header-name>]
752 \addindex \\interface
753 Indicates that a comment block contains documentation for an
754 interface with name \<name\>. The arguments are equal to the arguments of the
755 \ref cmdclass "\\class" command.
757 \sa section \ref cmdclass "\\class".
760 \section cmdinternal \\internal
763 This command starts a documentation fragment that is meant for internal
764 use only. The fragment naturally ends at the end of the comment block.
765 You can also force the internal section to end earlier by using the
766 \ref cmdendinternal "\\endinternal" command.
768 If the \c \\internal command is put inside a section
769 (see for example \ref cmdsection "\\section") all subsections after the
770 command are considered to be internal as well. Only a new section at the
771 same level will end the fragment that is considered internal.
773 You can use \ref cfg_internal_docs "INTERNAL_DOCS" in the configuration file
774 to show (\c YES) or hide (\c NO) the internal documentation.
776 \sa section \ref cmdendinternal "\\endinternal".
780 \section cmdmainpage \\mainpage [(title)]
784 If the \c \\mainpage command is placed in a comment block the
785 block is used to customize the index page (in HTML) or
786 the first chapter (in \LaTeX).
788 The title argument is optional and replaces the default title that
789 doxygen normally generates. If you do not want any title you can
790 specify \c notitle as the argument of \c \\mainpage.
794 /*! \mainpage My Personal Index Page
796 * \section intro_sec Introduction
798 * This is the introduction.
800 * \section install_sec Installation
802 * \subsection step1 Step 1: Opening the box
808 You can refer to the main page using: <code>\ref cmdref "\\ref" index</code>.
810 \sa section \ref cmdsection "\\section",
811 section \ref cmdsubsection "\\subsection", and
812 section \ref cmdpage "\\page".
815 \section cmdmemberof \\memberof <name>
818 This command makes a function a member of a class in a similar way
819 as \ref cmdrelates "\\relates" does, only with this command the function
820 is represented as a real member of the class.
821 This can be useful when the programming language does not support
822 the concept of member functions natively (e.g. C).
824 It is also possible to use this command together with
825 \ref cmdpublic "\\public", \ref cmdprotected "\\protected" or
826 \ref cmdprivate "\\private".
828 The file \c manual.c in the example directory shows how to use this command.
831 Click <a href="examples/manual/html/index.html">here</a>
832 for the corresponding HTML documentation that is generated by doxygen.
835 \sa sections \ref cmdextends "\\extends", \ref cmdimplements "\\implements",
836 \ref cmdpublic "\\public", \ref cmdprotected "\\protected" and
837 \ref cmdprivate "\\private".
840 \section cmdname \\name [(header)]
844 This command turns a comment block into a header
845 definition of a member group. The
846 comment block should be followed by a
847 <code>//\@{ ... //\@}</code> block containing the
848 members of the group.
850 See section \ref memgroup for an example.
853 \section cmdnamespace \\namespace <name>
855 \addindex \\namespace
856 Indicates that a comment block contains documentation for a
857 namespace with name \<name\>.
860 \section cmdnosubgrouping \\nosubgrouping
862 \addindex \\nosubgrouping
863 This command can be put in the documentation
864 of a class. It can be used in combination with member grouping
865 to avoid that doxygen puts a member group as a subgroup of a
866 Public/Protected/Private/... section.
868 \sa sections \ref cmdpublicsection "\\publicsection",
869 \ref cmdprotectedsection "\\protectedsection" and
870 \ref cmdprivatesection "\\privatesection".
873 \section cmdoverload \\overload [(function declaration)]
876 This command can be used to generate the following
877 standard text for an overloaded member function:
879 > This is an overloaded member function, provided for convenience.
880 > It differs from the above function only in what argument(s) it accepts.
882 If the documentation for the overloaded member function is not located
883 in front of the function declaration or definition, the optional
884 argument should be used to specify the correct function.
886 Any other documentation that is inside the documentation block will
887 by appended after the generated message.
890 You are responsible that there is indeed an
891 earlier documented member that is overloaded by this one.
892 To prevent that document reorders the documentation you should set
893 \ref cfg_sort_member_docs "SORT_MEMBER_DOCS" to \c NO in this case.
895 The \c \\overload command does not work inside a one-line comment.
897 \include overload.cpp
899 Click <a href="examples/overload/html/class_overload___test.html">here</a>
900 for the corresponding HTML documentation that is generated by doxygen.
903 See \hyperlink{class_overload___test}{Overload example}
904 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
908 \section cmdpackage \\package <name>
911 Indicates that a comment block contains documentation for a
912 Java package with name \<name\>.
915 \section cmdpage \\page <name> (title)
918 Indicates that a comment block contains a piece of documentation that is
919 not directly related to one specific class, file or member.
920 The HTML generator creates a page containing the documentation. The
922 starts a new section in the chapter 'Page documentation'.
927 Click <a href="examples/page/html/pages.html">here</a>
928 for the corresponding HTML documentation that is generated by doxygen.
931 See \hyperlink{page_example}{Page example}
932 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
936 The \<name\> argument consists of a combination of letters and number
937 digits. If you wish to use upper case letters (e.g. \c MYPAGE1), or
938 mixed case letters (e.g. \c MyPage1) in the \<name\> argument, you
939 should set \ref cfg_case_sense_names "CASE_SENSE_NAMES" to \c YES. However, this is advisable
940 only if your file system is case sensitive. Otherwise (and for better
941 portability) you should use all lower case letters (e.g. \c mypage1)
942 for \<name\> in all references to the page.
944 \sa section \ref cmdsection "\\section", section
945 \ref cmdsubsection "\\subsection", and section
949 \section cmdprivate \\private
952 Indicates that the member documented by the comment block is private,
953 i.e., should only be accessed by other members in the same class.
955 Note that doxygen automatically detects the protection level of members
956 in object-oriented languages. This command is intended for use only when
957 the language does not support the concept of protection level natively
960 For starting a section of private members, in a way similar to the
961 "private:" class marker in C++, use \ref cmdprivatesection "\\privatesection".
963 \sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public",
964 \ref cmdprotected "\\protected" and \ref cmdprivatesection "\\privatesection".
967 \section cmdprivatesection \\privatesection
969 \addindex \\privatesection
970 Starting a section of private members, in a way similar to the
971 "private:" class marker in C++.
972 Indicates that the member documented by the comment block is private,
973 i.e., should only be accessed by other members in the same class.
975 \sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public",
976 \ref cmdprotected "\\protected" and \ref cmdprivate "\\private".
979 \section cmdproperty \\property (qualified property name)
982 Indicates that a comment block contains documentation for a
983 property (either global or as a member of a class).
984 This command is equivalent to \ref cmdfn "\\fn",
985 \ref cmdtypedef "\\typedef", and \ref cmdvar "\\var".
987 \sa sections \ref cmdfn "\\fn", \ref cmdtypedef "\\typedef", and
991 \section cmdprotected \\protected
993 \addindex \\protected
994 Indicates that the member documented by the comment block is protected,
995 i.e., should only be accessed by other members in the same or derived
998 Note that doxygen automatically detects the protection level of members
999 in object-oriented languages. This command is intended for use only when
1000 the language does not support the concept of protection level natively
1003 For starting a section of protected members, in a way similar to the
1004 "protected:" class marker in C++, use \ref cmdprotectedsection "\\protectedsection".
1006 \sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public",
1007 \ref cmdprivate "\\private" and \ref cmdprotectedsection "\\protectedsection".
1010 \section cmdprotectedsection \\protectedsection
1012 \addindex \\protectedsection
1013 Starting a section of protected members, in a way similar to the
1014 "protected:" class marker in C++.
1015 Indicates that the member documented by the comment block is protected,
1016 i.e., should only be accessed by other members in the same or derived
1019 \sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public",
1020 \ref cmdprivate "\\private" and \ref cmdprotected "\\protected".
1023 \section cmdprotocol \\protocol <name> [<header-file>] [<header-name>]
1025 \addindex \\protocol
1026 Indicates that a comment block contains documentation for a
1027 protocol in Objective-C with name \<name\>. The arguments are equal
1028 to the \ref cmdclass "\\class" command.
1030 \sa section \ref cmdclass "\\class".
1033 \section cmdpublic \\public
1036 Indicates that the member documented by the comment block is public,
1037 i.e., can be accessed by any other class or function.
1039 Note that doxygen automatically detects the protection level of members
1040 in object-oriented languages. This command is intended for use only when
1041 the language does not support the concept of protection level natively
1044 For starting a section of public members, in a way similar to the
1045 "public:" class marker in C++, use \ref cmdpublicsection "\\publicsection".
1047 \sa sections \ref cmdmemberof "\\memberof", \ref cmdprotected "\\protected",
1048 \ref cmdprivate "\\private" and \ref cmdpublicsection "\\publicsection".
1051 \section cmdpublicsection \\publicsection
1053 \addindex \\publicsection
1054 Starting a section of public members, in a way similar to the
1055 "public:" class marker in C++.
1056 Indicates that the member documented by the comment block is public,
1057 i.e., can be accessed by any other class or function.
1059 \sa sections \ref cmdmemberof "\\memberof", \ref cmdprotected "\\protected",
1060 \ref cmdprivate "\\private" and \ref cmdpublic "\\public".
1063 \section cmdpure \\pure
1066 Indicates that the member documented by the comment block is pure virtual,
1067 i.e., it is abstract and has no implementation associated with it.
1069 This command is intended for use only when
1070 the language does not support the concept of pure virtual methods natively
1074 \section cmdrelates \\relates <name>
1077 This command can be used in the documentation of a non-member function
1078 \<name\>. It puts the function inside the 'related function' section
1079 of the class documentation. This command is useful for documenting
1080 non-friend functions that are nevertheless strongly coupled to a certain
1081 class. It prevents the need of having to document a file, but
1082 only works for functions.
1085 \include relates.cpp
1087 Click <a href="examples/relates/html/class_string.html">here</a>
1088 for the corresponding HTML documentation that is generated by doxygen.
1091 See \hyperlink{class_string}{Relates example}
1092 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
1096 \section cmdrelated \\related <name>
1099 Equivalent to \ref cmdrelates "\\relates"
1102 \section cmdrelatesalso \\relatesalso <name>
1104 \addindex \\relatesalso
1105 This command can be used in the documentation of a non-member function
1106 \<name\>. It puts the function both inside the 'related function' section
1107 of the class documentation as well as leaving it at its normal file documentation
1108 location. This command is useful for documenting
1109 non-friend functions that are nevertheless strongly coupled to a certain
1110 class. It only works for functions.
1113 \section cmdrelatedalso \\relatedalso <name>
1115 \addindex \\relatedalso
1116 Equivalent to \ref cmdrelatesalso "\\relatesalso"
1119 \section cmdshowinitializer \\showinitializer
1121 \addindex \\showinitializer
1122 By default the value of a define and the initializer of a variable
1123 are only displayed if they are less than 30 lines long. By putting
1124 this command in a comment block of a define or variable, the
1125 initializer is shown unconditionally.
1126 The maximum number of initialization lines
1127 can be changed by means of the configuration parameter
1128 \ref cfg_max_initializer_lines "MAX_INITIALIZER_LINES", the default value is
1131 \sa section \ref cmdhideinitializer "\\hideinitializer".
1134 \section cmdstatic \\static
1137 Indicates that the member documented by the comment block is static,
1138 i.e., it works on a class, instead of on an instance of the class.
1140 This command is intended for use only when
1141 the language does not support the concept of static methods natively (e.g. C).
1144 \section cmdstruct \\struct <name> [<header-file>] [<header-name>]
1147 Indicates that a comment block contains documentation for a
1148 struct with name \<name\>. The arguments are equal to the arguments of the
1149 \ref cmdclass "\\class" command.
1151 \sa section \ref cmdclass "\\class".
1154 \section cmdtypedef \\typedef (typedef declaration)
1157 Indicates that a comment block contains documentation for a
1158 typedef (either global or as a member of a class).
1159 This command is equivalent to \ref cmdfn "\\fn",
1160 \ref cmdproperty "\\property", and \ref cmdvar "\\var".
1162 \sa section \ref cmdfn "\\fn", \ref cmdproperty "\\property", and
1163 \ref cmdvar "\\var".
1166 \section cmdunion \\union <name> [<header-file>] [<header-name>]
1169 Indicates that a comment block contains documentation for a
1170 union with name \<name\>. The arguments are equal to the arguments of the
1171 \ref cmdclass "\\class" command.
1173 \sa section \ref cmdclass "\\class".
1176 \section cmdvar \\var (variable declaration)
1179 Indicates that a comment block contains documentation for a variable or
1180 enum value (either global or as a member of a class).
1181 This command is equivalent to \ref cmdfn "\\fn",
1182 \ref cmdproperty "\\property", and \ref cmdtypedef "\\typedef".
1184 Note that for PHP one can also specify the type of the variable.
1185 The syntax is similar as for the `phpDocumentor` but the description has to start
1186 at the next line, i.e.
1188 @var datatype $varname
1192 \sa section \ref cmdfn "\\fn", \ref cmdproperty "\\property", and \ref cmdtypedef "\\typedef".
1195 \section cmdvhdlflow \\vhdlflow [(title for the flow chart)]
1197 \addindex \\vhdlflow
1198 This is a VHDL specific command, which can be put in the documentation of a process to
1199 produce a flow chart of the logic in the process.
1200 Optionally a title for the flow chart can be given.
1201 \note Currently the flow chart will only appear in the HTML output.
1204 \section cmdweakgroup \\weakgroup <name> [(title)]
1205 \addindex \\weakgroup
1206 Can be used exactly like \ref cmdaddtogroup "\\addtogroup", but has
1207 a lower priority when it comes to resolving conflicting grouping
1210 \sa page \ref grouping "Grouping" and section \ref cmdaddtogroup "\\addtogroup".
1214 \htmlonly</p><center><p>\endhtmlonly
1216 \htmlonly --- \endhtmlonly
1218 \htmlonly --- \endhtmlonly
1220 \htmlonly</p></center><p>\endhtmlonly
1223 \section cmdattention \\attention { attention text }
1225 \addindex \\attention
1226 Starts a paragraph where a message that needs attention may be entered.
1227 The paragraph will be indented.
1228 The text of the paragraph has no special internal structure. All visual
1229 enhancement commands may be used inside the paragraph.
1230 Multiple adjacent \c \\attention commands will be joined into a single paragraph.
1231 The \c \\attention command ends when a blank line or some other
1232 sectioning command is encountered.
1235 \section cmdauthor \\author { list of authors }
1238 Starts a paragraph where one or more author names may be entered.
1239 The paragraph will be indented.
1240 The text of the paragraph has no special internal structure. All visual
1241 enhancement commands may be used inside the paragraph.
1242 Multiple adjacent \c \\author commands will be joined into a single paragraph.
1243 Each author description will start a new line. Alternatively, one \c \\author command
1244 may mention several authors. The \c \\author command ends when a blank line or some other
1245 sectioning command is encountered.
1250 Click <a href="examples/author/html/class_some_nice_class.html">here</a>
1251 for the corresponding HTML documentation that is generated by doxygen.
1254 See \hyperlink{class_some_nice_class}{Author example}
1255 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
1259 \section cmdauthors \\authors { list of authors }
1262 Equivalent to \ref cmdauthor "\\author".
1265 \section cmdbrief \\brief { brief description }
1268 Starts a paragraph that serves as a brief description. For classes and files
1269 the brief description will be used in lists and at the start of the
1270 documentation page. For class and file members, the brief description
1271 will be placed at the declaration of the member and prepended to the
1272 detailed description. A brief description may span several lines (although
1273 it is advised to keep it brief!). A brief description ends when a
1274 blank line or another sectioning command is encountered. If multiple
1275 \c \\brief commands are present they will be joined. See section
1276 \ref cmdauthor "\\author" for an example.
1278 Synonymous to \ref cmdshort "\\short".
1281 \section cmdbug \\bug { bug description }
1284 Starts a paragraph where one or more bugs may be reported.
1285 The paragraph will be indented.
1286 The text of the paragraph has no special internal structure. All visual
1287 enhancement commands may be used inside the paragraph.
1288 Multiple adjacent \c \\bug commands will be joined into a single paragraph.
1289 Each bug description will start on a new line.
1290 Alternatively, one \c \\bug command may mention
1291 several bugs. The \c \\bug command ends when a blank line or some other
1292 sectioning command is encountered. See section \ref cmdauthor "\\author"
1296 \section cmdcond \\cond [(section-label)]
1299 Starts a conditional section that ends with a corresponding
1300 \ref cmdendcond "\\endcond" command, which is typically found in
1301 another comment block. The main purpose of this pair of
1302 commands is to (conditionally) exclude part of a file from processing
1303 (in older version of doxygen this could only be achieved using C preprocessor commands).
1305 The section between \c \\cond and \ref cmdendcond "\\endcond" can be included by
1306 adding its section label to the \ref cfg_enabled_sections "ENABLED_SECTIONS"
1307 configuration option. If the section label is omitted, the section will
1308 be excluded from processing unconditionally. The section label can be a
1309 logical expression build of section labels, round brackets, && (AND), || (OR) and ! (NOT).
1310 If you use an expression you need to wrap it in round brackets, i.e
1311 <tt>\\cond (!LABEL1 && LABEL2)</tt>.
1313 For conditional sections within a comment block one should
1314 use a \ref cmdif "\\if" ... \ref cmdendif "\\endif" block.
1316 Conditional sections can be nested. In this case a nested section will only
1317 be shown if it and its containing section are included.
1319 Here is an example showing the commands in action:
1327 virtual void func() = 0;
1331 /** A method used for testing */
1332 virtual void test() = 0;
1339 * The implementation of the interface
1341 class Implementation : public Intf
1351 /** This method is obsolete and does
1352 * not show up in the documentation.
1361 The output will be different depending on whether or not \ref cfg_enabled_sections "ENABLED_SECTIONS"
1362 contains \c TEST, or \c DEV
1364 \sa sections \ref cmdendcond "\\endcond" and \ref cfg_enabled_sections "ENABLED_SECTIONS".
1365 \note Due to the moment of parsing the \c \\cond and \ref cmdendcond "\\endcond" commands cannot
1366 be used in \ref cfg_aliases "ALIASES".
1369 \section cmdcopyright \\copyright { copyright description }
1371 \addindex \\copyright
1372 Starts a paragraph where the copyright of an entity can be described.
1373 This paragraph will be indented.
1374 The text of the paragraph has no special internal structure.
1375 See section \ref cmdauthor "\\author" for an example.
1378 \section cmddate \\date { date description }
1381 Starts a paragraph where one or more dates may be entered.
1382 The paragraph will be indented.
1383 The text of the paragraph has no special internal structure. All visual
1384 enhancement commands may be used inside the paragraph.
1385 Multiple adjacent \c \\date commands will be joined into a single paragraph.
1386 Each date description will start on a new line.
1387 Alternatively, one \c \\date command may mention
1388 several dates. The \c \\date command ends when a blank line or some other
1389 sectioning command is encountered. See section \ref cmdauthor "\\author"
1393 \section cmddeprecated \\deprecated { description }
1395 \addindex \\deprecated
1396 Starts a paragraph indicating that this documentation block belongs to
1397 a deprecated entity. Can be used to describe alternatives,
1398 expected life span, etc.
1401 \section cmddetails \\details { detailed description }
1404 Just like \ref cmdbrief "\\brief" starts a brief description, \c \\details
1405 starts the detailed description. You can also start a new paragraph (blank line)
1406 then the \c \\details command is not needed.
1409 \section cmdelse \\else
1412 Starts a conditional section if the previous conditional section
1413 was not enabled. The previous section should have been started with
1414 a \ref cmdif "\\if", \ref cmdifnot "\\ifnot", or \ref cmdelseif "\\elseif"
1417 \sa \ref cmdif "\\if", \ref cmdifnot "\\ifnot", \ref cmdelseif "\\elseif",
1418 \ref cmdendif "\\endif."
1421 \section cmdelseif \\elseif (section-label)
1424 Starts a conditional documentation section if the previous section
1425 was not enabled. A conditional section is
1426 disabled by default. To enable it you must put the
1427 section-label after the \ref cfg_enabled_sections "ENABLED_SECTIONS"
1428 tag in the configuration file. The section label can be a logical expression
1429 build of section names, round brackets, && (AND), || (OR) and ! (NOT).
1430 Conditional blocks can be nested. A nested section is
1431 only enabled if all enclosing sections are enabled as well.
1433 \sa sections \ref cmdendif "\\endif", \ref cmdifnot "\\ifnot",
1434 \ref cmdelse "\\else", and \ref cmdelseif "\\elseif".
1437 \section cmdendcond \\endcond
1440 Ends a conditional section that was started by \ref cmdcond "\\cond".
1442 \sa section \ref cmdcond "\\cond".
1443 \note Due to the moment of parsing the \c \\endcond and \ref cmdcond "\\cond" commands cannot
1444 be used in \ref cfg_aliases "ALIASES".
1447 \section cmdendif \\endif
1450 Ends a conditional section that was started by \ref cmdif "\\if" or \ref cmdifnot "\\ifnot"
1451 For each \ref cmdif "\\if" or \ref cmdifnot "\\ifnot" one and only one matching
1452 \ref cmdendif "\\endif" must follow.
1454 \sa sections \ref cmdif "\\if" and \ref cmdifnot "\\ifnot".
1457 \section cmdexception \\exception <exception-object> { exception description }
1459 \addindex \\exception
1460 Starts an exception description for an exception object with name
1461 \<exception-object\>. Followed by a description of the exception.
1462 The existence of the exception object is not checked.
1463 The text of the paragraph has no special internal structure. All visual
1464 enhancement commands may be used inside the paragraph.
1465 Multiple adjacent \c \\exception commands will be joined into a single paragraph.
1466 Each exception description will start on a new line.
1467 The \c \\exception description ends when a blank line or some other
1468 sectioning command is encountered. See section \ref cmdfn "\\fn" for an
1472 \section cmdif \\if (section-label)
1475 Starts a conditional documentation section. The section ends
1476 with a matching \ref cmdendif "\\endif" command. A conditional section is
1477 disabled by default. To enable it you must put the
1478 section-label after the \ref cfg_enabled_sections "ENABLED_SECTIONS"
1479 tag in the configuration file.
1481 The section label can be a logical expression
1482 build of section names, round brackets, && (AND), || (OR) and ! (NOT).
1483 If you use an expression you need to wrap it in round brackets, i.e
1484 <tt>\\cond (!LABEL1 && LABEL2)</tt>.
1486 Conditional blocks can be nested. A nested section is
1487 only enabled if all enclosing sections are enabled as well.
1491 /*! Unconditionally shown documentation.
1493 * Only included if Cond1 is set.
1496 * Only included if Cond2 is set.
1498 * Only included if Cond2 and Cond3 are set.
1502 * Unconditional text.
1506 You can also use conditional commands inside aliases. To
1507 document a class in two languages you could for instance use:
1515 * Dit is Nederlands.
1523 Where the following aliases are defined in the configuration file:
1526 ALIASES = "english=\if english" \
1527 "endenglish=\endif" \
1532 and \ref cfg_enabled_sections "ENABLED_SECTIONS" can be used to enable either \c english or \c dutch.
1534 \sa sections \ref cmdendif "\\endif", \ref cmdifnot "\\ifnot",
1535 \ref cmdelse "\\else", \ref cmdelseif "\\elseif", and
1536 \ref cfg_enabled_sections "ENABLED_SECTIONS".
1539 \section cmdifnot \\ifnot (section-label)
1542 Starts a conditional documentation section. The section ends
1543 with a matching \ref cmdendif "\\endif" command. This conditional section is
1544 enabled by default. To disable it you must put the
1545 section-label after the \ref cfg_enabled_sections "ENABLED_SECTIONS"
1546 tag in the configuration file. The section label can be a logical expression
1547 build of section names, round brackets, && (AND), || (OR) and ! (NOT).
1549 \sa sections \ref cmdendif "\\endif", \ref cmdif "\\if",
1550 \ref cmdelse "\\else", and \ref cmdelseif "\\elseif", and
1551 \ref cfg_enabled_sections "ENABLED_SECTIONS".
1554 \section cmdinvariant \\invariant { description of invariant }
1556 \addindex \\invariant
1557 Starts a paragraph where the invariant of an entity can be described.
1558 The paragraph will be indented.
1559 The text of the paragraph has no special internal structure. All visual
1560 enhancement commands may be used inside the paragraph.
1561 Multiple adjacent \c \\invariant commands will be joined into a single paragraph.
1562 Each invariant description will start on a new line.
1563 Alternatively, one \c \\invariant command may mention
1564 several invariants. The \c \\invariant command ends when a blank line or some other
1565 sectioning command is encountered.
1568 \section cmdnote \\note { text }
1571 Starts a paragraph where a note can be entered. The paragraph will be
1572 indented. The text of the paragraph has no special internal structure.
1573 All visual enhancement commands may be used inside the paragraph.
1574 Multiple adjacent \c \\note commands will be joined into a single paragraph.
1575 Each note description will start on a new line.
1576 Alternatively, one \c \\note command may mention
1577 several notes. The \c \\note command ends when a blank line or some other
1578 sectioning command is encountered. See section \ref cmdpar "\\par"
1582 \section cmdpar \\par [(paragraph title)] { paragraph }
1585 If a paragraph title is given this command starts a paragraph with a
1586 user defined heading. The heading extends until the end of the
1587 line. The paragraph following the command will be indented.
1589 If no paragraph title is given this command will start a new paragraph.
1590 This will also work inside other paragraph commands
1591 (like \ref cmdparam "\\param" or \ref cmdwarning "\\warning") without ending that command.
1593 The text of the paragraph has no special internal structure. All visual
1594 enhancement commands may be used inside the paragraph.
1595 The \c \\par command ends when a blank line or some other
1596 sectioning command is encountered.
1601 Click <a href="examples/par/html/class_par___test.html">here</a>
1602 for the corresponding HTML documentation that is generated by doxygen.
1605 See \hyperlink{class_par___test}{Par example}
1606 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
1610 \section cmdparam \\param [(dir)] <parameter-name> { parameter description }
1613 Starts a parameter description for a function parameter with name
1614 \<parameter-name\>, followed by a description of the parameter.
1615 The existence of the parameter is checked and a warning is given if
1616 the documentation of this (or any other) parameter is missing or not
1617 present in the function declaration or definition.
1619 The \c \\param command has an optional attribute, (dir), specifying the direction
1620 of the parameter. Possible values are "[in]", "[in,out]", and "[out]",
1621 note the [square] brackets in this description.
1622 When a parameter is both input and output, [in,out] is used as attribute.
1623 Here is an example for the function \c memcpy:
1626 * Copies bytes from a source memory area to a destination memory area,
1627 * where both areas may not overlap.
1628 * @param[out] dest The memory area to copy to.
1629 * @param[in] src The memory area to copy from.
1630 * @param[in] n The number of bytes to copy
1632 void memcpy(void *dest, const void *src, size_t n);
1635 The parameter description is a paragraph with no special internal structure.
1636 All visual enhancement commands may be used inside the paragraph.
1638 Multiple adjacent \c \\param commands will be joined into a single paragraph.
1639 Each parameter description will start on a new line.
1640 The \c \\param description ends when a blank line or some other
1641 sectioning command is encountered. See section \ref cmdfn "\\fn" for an
1644 Note that you can also document multiple parameters with a single
1645 \c \\param command using a comma separated list. Here is an example:
1648 /** Sets the position.
1649 * @param x,y,z Coordinates of the position in 3D space.
1651 void setPosition(double x,double y,double z,double t)
1656 Note that for PHP one can also specify the type (or types if you
1657 separate them with a pipe symbol) which are allowed for a parameter
1658 (as this is not part of the definition).
1659 The syntax is the same as for the `phpDocumentor`, i.e.
1661 @param datatype1|datatype2 $paramname description
1665 \section cmdparblock \\parblock
1666 \addindex \\parblock
1667 For commands that expect a single paragraph as argument
1668 (such as \ref cmdpar "\\par", \ref cmdparam "\\param" and \ref cmdwarning "\\warning"),
1669 the \ref cmdparblock "\\parblock" command allows to start a
1670 description that covers multiple paragraphs, which then ends with
1671 \ref cmdendparblock "\\endparblock".
1675 /** Example of a param command with a description consisting of two paragraphs
1678 * First paragraph of the param description.
1680 * Second paragraph of the param description.
1682 * Rest of the comment block continues.
1685 Note that the \c \\parblock command may also appear directly after
1686 \ref cmdparam "\\param"'s first argument.
1689 \section cmdendparblock \\endparblock
1690 \addindex \\endparblock
1691 This ends a block of paragraphs started with \ref cmdparblock "\\parblock".
1694 \section cmdtparam \\tparam <template-parameter-name> { description }
1697 Starts a template parameter for a class or function template parameter
1698 with name \<template-parameter-name\>, followed by a description of the
1701 Otherwise similar to \ref cmdparam "\\param".
1704 \section cmdpost \\post { description of the postcondition }
1707 Starts a paragraph where the postcondition of an entity can be described.
1708 The paragraph will be indented.
1709 The text of the paragraph has no special internal structure. All visual
1710 enhancement commands may be used inside the paragraph.
1711 Multiple adjacent \c \\post commands will be joined into a single paragraph.
1712 Each postcondition will start on a new line.
1713 Alternatively, one \c \\post command may mention
1714 several postconditions. The \c \\post command ends when a blank line or some other
1715 sectioning command is encountered.
1718 \section cmdpre \\pre { description of the precondition }
1721 Starts a paragraph where the precondition of an entity can be described.
1722 The paragraph will be indented.
1723 The text of the paragraph has no special internal structure. All visual
1724 enhancement commands may be used inside the paragraph.
1725 Multiple adjacent \c \\pre commands will be joined into a single paragraph.
1726 Each precondition will start on a new line.
1727 Alternatively, one \c \\pre command may mention
1728 several preconditions. The \c \\pre command ends when a blank line or some other
1729 sectioning command is encountered.
1732 \section cmdremark \\remark { remark text }
1735 Starts a paragraph where one or more remarks may be entered.
1736 The paragraph will be indented.
1737 The text of the paragraph has no special internal structure. All visual
1738 enhancement commands may be used inside the paragraph.
1739 Multiple adjacent \c \\remark commands will be joined into a single paragraph.
1740 Each remark will start on a new line.
1741 Alternatively, one \c \\remark command may mention
1742 several remarks. The \c \\remark command ends when a blank line or some other
1743 sectioning command is encountered.
1746 \section cmdremarks \\remarks { remark text }
1749 Equivalent to \ref cmdremark "\\remark".
1752 \section cmdresult \\result { description of the result value }
1755 Equivalent to \ref cmdreturn "\\return".
1758 \section cmdreturn \\return { description of the return value }
1761 Starts a return value description for a function.
1762 The text of the paragraph has no special internal structure. All visual
1763 enhancement commands may be used inside the paragraph.
1764 Multiple adjacent \c \\return commands will be joined into a single paragraph.
1765 The \c \\return description ends when a blank line or some other
1766 sectioning command is encountered. See section \ref cmdfn "\\fn" for an
1770 \section cmdreturns \\returns { description of the return value }
1773 Equivalent to \ref cmdreturn "\\return".
1776 \section cmdretval \\retval <return value> { description }
1779 Starts a description for a function's return value with name
1780 \<return value\>, followed by a description of the return value.
1781 The text of the paragraph that forms the description has no special
1782 internal structure. All visual enhancement commands may be used inside the
1784 Multiple adjacent \c \\retval commands will be joined into a single paragraph.
1785 Each return value description will start on a new line.
1786 The \c \\retval description ends when a blank line or some other
1787 sectioning command is encountered.
1790 \section cmdsa \\sa { references }
1793 Starts a paragraph where one or more cross-references to classes,
1794 functions, methods, variables, files or URL may be specified.
1795 Two names joined by either <code>::</code> or <code>\#</code>
1796 are understood as referring to a class and one of its members.
1797 One of several overloaded methods or constructors
1798 may be selected by including a parenthesized list of argument types after
1801 Synonymous to \ref cmdsee "\\see".
1803 \sa section \ref autolink "autolink" for information on how to create links
1807 \section cmdsee \\see { references }
1810 Equivalent to \ref cmdsa "\\sa". Introduced for compatibility with Javadoc.
1813 \section cmdshort \\short { short description }
1816 Equivalent to \ref cmdbrief "\\brief".
1819 \section cmdsince \\since { text }
1822 This command can be used to specify since when (version or time) an
1823 entity is available. The paragraph that follows \c \\since does not have any
1824 special internal structure. All visual enhancement commands may be
1825 used inside the paragraph. The \c \\since description ends when a blank
1826 line or some other sectioning command is encountered.
1829 \section cmdtest \\test { paragraph describing a test case }
1832 Starts a paragraph where a test case can be described.
1833 The description will also add the test case to a separate test list.
1834 The two instances of the description will be cross-referenced.
1835 Each test case in the test list will be preceded by a header that
1836 indicates the origin of the test case.
1839 \section cmdthrow \\throw <exception-object> { exception description }
1842 Synonymous \ref cmdexception "\\exception".
1845 the command \ref cmdthrows "\\throws" is a synonym for this command.
1847 \sa section \ref cmdexception "\\exception"
1850 \section cmdthrows \\throws <exception-object> { exception description }
1853 Equivalent to \ref cmdthrow "\\throw".
1856 \section cmdtodo \\todo { paragraph describing what is to be done }
1859 Starts a paragraph where a TODO item is described.
1860 The description will also add an item to a separate TODO list.
1861 The two instances of the description will be cross-referenced.
1862 Each item in the TODO list will be preceded by a header that
1863 indicates the origin of the item.
1866 \section cmdversion \\version { version number }
1869 Starts a paragraph where one or more version strings may be entered.
1870 The paragraph will be indented.
1871 The text of the paragraph has no special internal structure. All visual
1872 enhancement commands may be used inside the paragraph.
1873 Multiple adjacent \c \\version commands will be joined into a single paragraph.
1874 Each version description will start on a new line.
1875 Alternatively, one \c \\version command may mention
1876 several version strings.
1877 The \\version command ends when a blank line or some other
1878 sectioning command is encountered.
1879 See section \ref cmdauthor "\\author" for an example.
1882 \section cmdwarning \\warning { warning message }
1885 Starts a paragraph where one or more warning messages may be entered.
1886 The paragraph will be indented.
1887 The text of the paragraph has no special internal structure. All visual
1888 enhancement commands may be used inside the paragraph.
1889 Multiple adjacent \c \\warning commands will be joined into a single paragraph.
1890 Each warning description will start on a new line.
1891 Alternatively, one \c \\warning command may mention
1892 several warnings. The \c \\warning command ends when a blank line or some other
1893 sectioning command is encountered. See section \ref cmdauthor "\\author"
1897 \section cmdxrefitem \\xrefitem <key> "(heading)" "(list title)" { text }
1899 \addindex \\xrefitem
1900 This command is a generalization of commands such as \ref cmdtodo "\\todo"
1901 and \ref cmdbug "\\bug".
1902 It can be used to create user-defined text sections which are automatically
1903 cross-referenced between the place of occurrence and a related page,
1904 which will be generated. On the related page all sections of
1905 the same type will be collected.
1907 The first argument \<key\> is an
1908 identifier uniquely representing the type of the section. The second argument
1909 is a quoted string representing the heading of the section under which
1910 text passed as the fourth argument is put. The third argument (list title)
1911 is used as the title for the related page containing all items with the
1912 same key. The keys \c "todo", \c "test", \c "bug" and \c "deprecated" are predefined.
1914 To get an idea on how to use the \c \\xrefitem command and what its effect
1915 is, consider the todo list, which (for English output) can be seen an
1916 alias for the command
1917 \verbatim \xrefitem todo "Todo" "Todo List" \endverbatim
1919 Since it is very tedious and error-prone to repeat the first three
1920 parameters of the command for each section, the command is meant to
1921 be used in combination with the \ref cfg_aliases "ALIASES" option in the
1923 To define a new command \c \\reminder, for instance, one should add the following
1924 line to the configuration file:
1925 \verbatim ALIASES += "reminder=\xrefitem reminders \"Reminder\" \"Reminders\"" \endverbatim
1926 Note the use of escaped quotes for the second and third argument of the
1927 \c \\xrefitem command.
1929 In case parameter "(heading)" is the empty string no heading is generated. This can be useful
1930 when used in combination with the \ref cmdpage "\\page" command e.g.
1932 /** @page my_errors My Errors
1933 * @brief Errors page
1935 * Errors page contents.
1938 /** \error ERROR 101: in case a file can not be opened.
1939 Check about file system read/write access. */
1940 #define MY_ERR_CANNOT_OPEN_FILE 101
1942 /** \error ERROR 102: in case a file can not be closed.
1943 Check about file system read/write access. */
1944 #define MY_ERR_CANNOT_CLOSE_FILE 102
1946 with \c \\error defined as
1947 \verbatim ALIASES += "error=\xrefitem my_errors \"\" \"\"" \endverbatim
1951 \htmlonly</p><center><p>\endhtmlonly
1953 \htmlonly --- \endhtmlonly
1954 Commands to create links
1955 \htmlonly --- \endhtmlonly
1957 \htmlonly</p></center><p>\endhtmlonly
1960 \section cmdaddindex \\addindex (text)
1962 \addindex \\addindex
1963 This command adds (text) to the \LaTeX , DocBook and RTF index.
1966 \section cmdanchor \\anchor <word>
1969 This command places an invisible, named anchor into the documentation
1970 to which you can refer with the \ref cmdref "\\ref" command.
1972 \note Anchors can currently only be put into a comment block
1973 that is marked as a page (using \ref cmdpage "\\page") or mainpage
1974 (\ref cmdmainpage "\\mainpage").
1976 \sa section \ref cmdref "\\ref".
1979 \section cmdcite \\cite <label>
1982 Adds a bibliographic reference in the text and in the list of bibliographic
1983 references. The \<label\> must be a valid BibTeX label that can be found
1984 in one of the .bib files listed in \ref cfg_cite_bib_files "CITE_BIB_FILES".
1985 For the \LaTeX output the formatting of the reference in the text can be
1986 configured with \ref cfg_latex_bib_style "LATEX_BIB_STYLE". For other
1987 output formats a fixed representation is used. Note that using this
1988 command requires the \c bibtex tool to be present in the search path.
1991 \section cmdendlink \\endlink
1994 This command ends a link that is started with the \ref cmdlink "\\link" command.
1996 \sa section \ref cmdlink "\\link".
1999 \section cmdlink \\link <link-object>
2002 The links that are automatically generated by doxygen always have the
2003 name of the object they point to as link-text.
2005 The \c \\link command can be used to create a link to an object (a file,
2006 class, or member) with a user specified link-text.
2007 The link command should end with an \ref cmdendlink "\\endlink" command. All text between
2008 the \c \\link and \ref cmdendlink "\\endlink" commands serves as text for a link to
2009 the \<link-object\> specified as the first argument of \c \\link.
2011 \sa Section \ref autolink "autolink" for more information on automatically
2012 generated links and valid link-objects.
2015 \section cmdref \\ref <name> ["(text)"]
2018 Creates a reference to a named section, subsection, page or anchor.
2019 For HTML documentation the reference command will generate a link to
2020 the section. For a section or subsection the title of the section will be
2021 used as the text of the link. For an anchor the optional text between quotes
2022 will be used or \<name\> if no text is specified.
2023 For \LaTeX documentation the reference command will
2024 generate a section number for sections or the text followed by a
2025 page number if \<name\> refers to an anchor.
2028 Section \ref cmdpage "\\page" for an example of the \c \\ref command.
2031 \section cmdrefitem \\refitem <name>
2033 Just like the \ref cmdref "\\ref" command, this command creates a reference
2034 to a named section, but this reference appears in a list that is started by
2035 \ref cmdsecreflist "\\secreflist"
2036 and ends with \ref cmdendsecreflist "\\endsecreflist".
2037 An example of such a list can be seen
2038 \ref showsecreflist "at the top of the page".
2041 \section cmdsecreflist \\secreflist
2042 \addindex \\secreflist
2043 Starts an index list of item, created with \ref cmdrefitem "\\refitem"
2044 that each link to a named section.
2047 \section cmdendsecreflist \\endsecreflist
2048 \addindex \\endsecreflist
2049 End an index list started with \ref cmdsecreflist "\\secreflist".
2052 \section cmdsubpage \\subpage <name> ["(text)"]
2055 This command can be used to create a hierarchy of pages. The
2056 same structure can be made using the \ref cmddefgroup "\\defgroup" and
2057 \ref cmdingroup "\\ingroup" commands, but for pages the \c \\subpage command
2058 is often more convenient. The main page (see \ref cmdmainpage "\\mainpage")
2059 is typically the root of hierarchy.
2061 This command behaves similar as \ref cmdref "\\ref" in the sense that
2062 it creates a reference to a page labeled \<name\> with the optional
2063 link text as specified in the second argument.
2065 It differs from the \ref cmdref "\\ref" command in that it only works for pages,
2066 and creates a parent-child relation between pages, where the
2067 child page (or sub page) is identified by label \<name\>.
2069 See the \ref cmdsection "\\section"
2070 and \ref cmdsubsection "\\subsection" commands if you want to add structure
2071 without creating multiple pages.
2073 \note Each page can be the sub page of only one other page and
2074 no cyclic relations are allowed, i.e. the page hierarchy must have a tree
2079 /*! \mainpage A simple manual
2083 This manual is divided in the following sections:
2085 - \subpage advanced "Advanced usage"
2088 //-----------------------------------------------------------
2090 /*! \page intro Introduction
2091 This page introduces the user to the topic.
2092 Now you can proceed to the \ref advanced "advanced section".
2095 //-----------------------------------------------------------
2097 /*! \page advanced Advanced Usage
2098 This page is for advanced users.
2099 Make sure you have first read \ref intro "the introduction".
2104 \section cmdtableofcontents \\tableofcontents['{'[option[:level]][,option[:level]]*'}']
2106 \addindex \\tableofcontents
2107 Creates a table of contents at the top of a page, listing all
2108 sections and subsections in the page. The `option` can be `HTML` or `LaTeX`
2109 or `XML` or `DocBook`. When a `level` is specified this means the maximum nesting level
2110 that is shown. The value of `level` should be in the range 1..5, values outside
2111 this range are considered to be 5. In case no `level` is specified `level` is
2113 In case no `option`. is specified \c \\tableofcontents acts as if just the
2114 `option` `HTML` and `XML` was specified. In case of multiple \c \\tableofcontents
2115 commands in a page the `option`(s) will be used additional to the already
2116 specified `option`(s), but only the last `level` of an `option` is valid.
2118 \warning This command only works inside related page documentation and
2119 \e not in other documentation blocks and only has effect in the
2120 the specified output!
2123 \section cmdsection \\section <section-name> (section title)
2126 Creates a section with name \<section-name\>. The title of the
2127 section should be specified as the second argument of the \c \\section
2130 \warning This command only works inside related page documentation and
2131 \e not in other documentation blocks!
2134 Section \ref cmdpage "\\page" for an example of the
2135 \c \\section command.
2138 \section cmdsubsection \\subsection <subsection-name> (subsection title)
2140 \addindex \\subsection
2141 Creates a subsection with name \<subsection-name\>. The title of the
2142 subsection should be specified as the second argument of the \c \\subsection
2145 \warning This command only works inside a section of a related page
2146 documentation block and
2147 \e not in other documentation blocks!
2150 Section \ref cmdpage "\\page" for an example of the
2151 \c \\subsection command.
2154 \section cmdsubsubsection \\subsubsection <subsubsection-name> (subsubsection title)
2156 \addindex \\subsubsection
2157 Creates a subsubsection with name \<subsubsection-name\>. The title of the
2158 subsubsection should be specified as the second argument of the
2159 \c \\subsubsection command.
2161 \warning This command only works inside a subsection of a
2162 related page documentation block and
2163 \e not in other documentation blocks!
2166 Section \ref cmdpage "\\page" for an example of the
2167 \ref cmdsection "\\section" command and
2168 \ref cmdsubsection "\\subsection" command.
2171 \section cmdparagraph \\paragraph <paragraph-name> (paragraph title)
2173 \addindex \\paragraph
2174 Creates a named paragraph with name \<paragraph-name\>. The title of the
2175 paragraph should be specified as the second argument of the
2176 \c \\paragraph command.
2178 \warning This command only works inside a subsubsection of a
2179 related page documentation block and
2180 \e not in other documentation blocks!
2184 \htmlonly</p><center><p>\endhtmlonly
2186 \htmlonly --- \endhtmlonly
2187 Commands for displaying examples
2188 \htmlonly --- \endhtmlonly
2190 \htmlonly</p></center><p>\endhtmlonly
2193 \section cmddontinclude \\dontinclude <file-name>
2195 \addindex \\dontinclude
2196 This command can be used to parse a source file without actually
2197 verbatim including it in the documentation (as the \ref cmdinclude "\\include" command does).
2198 This is useful if you want to divide the source file into smaller pieces and
2199 add documentation between the pieces.
2200 Source files or directories can be specified using the
2201 \ref cfg_example_path "EXAMPLE_PATH"
2202 tag of doxygen's configuration file.
2204 The class and member declarations and definitions inside the code fragment
2205 are 'remembered' during the parsing of the comment block that contained
2206 the \c \\dontinclude command.
2208 For line by line descriptions of source files, one or more lines
2209 of the example can be displayed using the \ref cmdline "\\line",
2210 \ref cmdskip "\\skip", \ref cmdskipline "\\skipline", and
2211 \ref cmduntil "\\until" commands. An internal pointer is used for these commands. The
2212 \c \\dontinclude command sets the pointer to the first line of the example.
2215 \include include.cpp
2216 Where the example file \c include_test.cpp looks as follows:
2217 \include include_test.cpp
2219 Click <a href="examples/include/html/example.html">here</a>
2220 for the corresponding HTML documentation that is generated by doxygen.
2223 See \hyperlink{include_example}{Include example}
2224 for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
2227 \sa sections \ref cmdline "\\line", \ref cmdskip "\\skip",
2228 \ref cmdskipline "\\skipline", \ref cmduntil "\\until", and
2229 \ref cmdinclude "\\include".
2232 \section cmdinclude \\include[{lineno|doc}] <file-name>
2235 This command can be used to include a source file as a block of code.
2236 The command takes the name of an include file as an argument.
2237 Source files or directories can be specified using the
2238 \ref cfg_example_path "EXAMPLE_PATH"
2239 tag of doxygen's configuration file.
2241 If \<file-name\> itself is not unique for the set of example files specified
2242 by the \ref cfg_example_path "EXAMPLE_PATH" tag, you can include part
2243 of the absolute path to disambiguate it.
2245 Using the \c \\include command is equivalent to inserting the file into
2246 the documentation block and surrounding it
2247 with \ref cmdcode "\\code" and \ref cmdendcode "\\endcode" commands.
2249 The main purpose of the \c \\include command is to avoid code
2250 duplication in case of example blocks that consist of multiple
2251 source and header files.
2253 For a line by line description of a source files use the
2254 \ref cmddontinclude "\\dontinclude" command in combination with
2255 the \ref cmdline "\\line", \ref cmdskip "\\skip",
2256 \ref cmdskipline "\\skipline",
2257 and \ref cmduntil "\\until" commands.
2259 Alternatively, the \ref cmdsnippet "\\snippet" command can be used to
2260 include only a fragment of a source file. For this to work the
2261 fragment has to be marked.
2263 \note Doxygen's special commands do not work inside blocks of code.
2264 It is allowed to nest C-style comments inside a code block though.
2266 You can add option `{lineno}` to enable line numbers for the included code if desired.
2268 You can add option `{doc}` to treat the file as documentation rather than code.
2270 \note Some that when using the `{doc}` option,
2271 commands like \ref cmdcond "\\cond" and \ref cmdif "\\if" don't work with
2272 this command due to the moment of parsing.
2274 \note The included documentation should not have comment signs in it as they will appear
2275 in the documentation as well.
2277 \sa sections \ref cmdexample "\\example", \ref cmddontinclude "\\dontinclude",
2278 \ref cmdverbatim "\\verbatim", \ref cmdincludedoc "\\includedoc", and
2279 \ref cmdsnippet "\\snippet".
2282 \section cmdincludelineno \\includelineno <file-name>
2284 \addindex \\includelineno
2285 This command is obsolete and is still supported for backward compatibility reasons,
2286 it works the same way as \ref cmdinclude "\\include{lineno}"
2288 \sa sections \ref cmdinclude "\\include{lineno}".
2291 \section cmdincludedoc \\includedoc <file-name>
2293 \addindex \\includedoc
2294 This command is obsolete and is still supported for backward compatibility reasons,
2295 it works the same way as \ref cmdinclude "\\include{doc}"
2297 \sa section \ref cmdinclude "\\include{doc}".
2300 \section cmdline \\line ( pattern )
2303 This command searches line by line through the example that was last
2304 included using \ref cmdinclude "\\include" or
2305 \ref cmddontinclude "\\dontinclude" until it finds a non-blank
2306 line. If that line contains the specified pattern, it is written
2309 The internal pointer that is used to keep track of the current line in
2310 the example, is set to the start of the line following the non-blank
2311 line that was found (or to the end of the example if no such line could
2314 See section \ref cmddontinclude "\\dontinclude" for an example.
2317 \section cmdskip \\skip ( pattern )
2320 This command searches line by line through the example that was last
2321 included using \ref cmdinclude "\\include" or
2322 \ref cmddontinclude "\\dontinclude" until it finds a line that contains
2323 the specified pattern.
2325 The internal pointer that is used to keep track of the current line in
2326 the example, is set to the start of the line that contains the specified
2327 pattern (or to the end of the example if the pattern could not be found).
2329 See section \ref cmddontinclude "\\dontinclude" for an example.
2332 \section cmdskipline \\skipline ( pattern )
2334 \addindex \\skipline
2335 This command searches line by line through the example that was last
2336 included using \ref cmdinclude "\\include" or
2337 \ref cmddontinclude "\\dontinclude" until it finds a line that contains
2338 the specified pattern. It then writes the line to the output.
2340 The internal pointer that is used to keep track of the current line in
2341 the example, is set to the start of the line following the line that is
2342 written (or to the end of the example if the pattern could not be found).
2346 \verbatim\skipline pattern\endverbatim
2350 \line pattern\endverbatim
2352 See section \ref cmddontinclude "\\dontinclude" for an example.
2355 \section cmdsnippet \\snippet[{lineno|doc}] <file-name> ( block_id )
2358 Where the \ref cmdinclude "\\include" command can be used to include
2359 a complete file as source code, this command can be used to quote only
2360 a fragment of a source file. In case `this` is used as <file-name> the
2361 current file is taken as file to take the snippet from.
2363 For example, the putting the following command in the documentation,
2364 references a snippet in file \c example.cpp residing in a subdirectory
2365 which should be pointed to by \ref cfg_example_path "EXAMPLE_PATH".
2368 \snippet snippets/example.cpp Adding a resource
2371 The text following the file name is the unique identifier for the snippet.
2372 This is used to delimit the quoted code in the relevant snippet file as
2373 shown in the following example that corresponds to the above \c \\snippet
2377 QImage image(64, 64, QImage::Format_RGB32);
2378 image.fill(qRgb(255, 160, 128));
2380 //! [Adding a resource]
2381 document->addResource(QTextDocument::ImageResource,
2382 QUrl("mydata://image.png"), QVariant(image));
2383 //! [Adding a resource]
2387 Note that the lines containing the block markers will not be included,
2388 so the output will be:
2391 document->addResource(QTextDocument::ImageResource,
2392 QUrl("mydata://image.png"), QVariant(image));
2395 Note also that the [block_id] markers should appear exactly twice in the
2398 You can add option `{lineno}` to enable line numbers for the snippet if desired.
2400 You can add option `{doc}` to treat the file as documentation rather than code.
2402 \note Some that when using the `{doc}` option,
2403 commands like \ref cmdcond "\\cond" and \ref cmdif "\\if" don't work with
2404 this command due to the moment of parsing.
2406 \note The included documentation should not have comment signs in it as they will appear
2407 in the documentation as well.
2409 see section \ref cmddontinclude "\\dontinclude" for an alternative way
2410 to include fragments of a source file that does not require markers.
2413 \section cmdsnippetlineno \\snippetlineno <file-name> ( block_id )
2415 \addindex \\snippetlineno
2416 This command is obsolete and is still supported for backward compatibility reasons,
2417 it works the same way as \ref cmdsnippet "\\snippet{lineno}"
2419 \sa sections \ref cmdsnippet "\\snippet{lineno}"
2422 \section cmdsnippetdoc \\snippetdoc <file-name> ( block_id )
2424 \addindex \\snippetdoc
2425 This command is obsolete and is still supported for backward compatibility reasons,
2426 it works the same way as \ref cmdsnippet "\\snippet{doc}"
2428 \sa section \ref cmdsnippet "\\snippet{doc}" and \ref cmdinclude "\\include{doc}".
2431 \section cmduntil \\until ( pattern )
2434 This command writes all lines of the example that was last
2435 included using \ref cmdinclude "\\include" or
2436 \ref cmddontinclude "\\dontinclude" to the output, until it finds
2437 a line containing the specified pattern. The line containing the pattern
2438 will be written as well.
2440 The internal pointer that is used to keep track of the current line in
2441 the example, is set to the start of the line following last written
2442 line (or to the end of the example if the pattern could not be found).
2444 See section \ref cmddontinclude "\\dontinclude" for an example.
2447 \section cmdverbinclude \\verbinclude <file-name>
2449 \addindex \\verbinclude
2450 This command includes the file \<file-name\> verbatim in the documentation.
2451 The command is equivalent to pasting the file in the documentation and
2452 placing \ref cmdverbatim "\\verbatim" and \ref cmdendverbatim "\\endverbatim"
2455 Files or directories that doxygen should look for can be specified using the
2456 \ref cfg_example_path "EXAMPLE_PATH" tag of doxygen's configuration file.
2459 \section cmdhtmlinclude \\htmlinclude ["[block]"] <file-name>
2461 \addindex \\htmlinclude
2462 This command includes the file \<file-name\> as is in the HTML documentation.
2463 The command is equivalent to pasting the file in the documentation and
2464 placing \ref cmdhtmlonly "\\htmlonly" and \ref cmdendhtmlonly "\\endhtmlonly"
2467 Normally the contents of the file indicated by \ref cmdhtmlinclude "\\htmlinclude"
2468 is inserted as-is. When you
2469 want to insert a HTML fragment that has block scope like a table or list
2470 which should appear outside \<p\>..\</p\>, this can lead to invalid HTML.
2471 You can use \\htmlinclude[block] to make doxygen
2472 end the current paragraph and restart after the file is included.
2474 Files or directories that doxygen should look for can be specified using the
2475 \ref cfg_example_path "EXAMPLE_PATH" tag of doxygen's configuration file.
2477 \sa section \ref cmdhtmlonly "\\htmlonly".
2480 \section cmdlatexinclude \\latexinclude <file-name>
2482 \addindex \\latexinclude
2483 This command includes the file \<file-name\> as is in the \LaTeX documentation.
2484 The command is equivalent to pasting the file in the documentation and
2485 placing \ref cmdlatexonly "\\latexonly" and \ref cmdendlatexonly "\\endlatexonly"
2488 Files or directories that doxygen should look for can be specified using the
2489 \ref cfg_example_path "EXAMPLE_PATH" tag of doxygen's configuration file.
2493 \htmlonly</p><center><p>\endhtmlonly
2495 \htmlonly --- \endhtmlonly
2496 Commands for visual enhancements
2497 \htmlonly --- \endhtmlonly
2499 \htmlonly</p></center><p>\endhtmlonly
2501 \section cmda \\a <word>
2504 Displays the argument \<word\> in italics.
2505 Use this command to emphasize words.
2506 Use this command to refer to member arguments in the running text.
2510 ... the \a x and \a y coordinates are used to ...
2512 This will result in the following text:<br><br>
2513 ... the \a x and \a y coordinates are used to ...
2515 Equivalent to \ref cmde "\\e" and \ref cmdem "\\em".
2516 To emphasize multiple words use \<em\>multiple words\</em\>.
2519 \section cmdarg \\arg { item-description }
2522 This command has one argument that continues until the first
2523 blank line or until another \c \\arg is encountered.
2524 The command can be used to generate a simple, not nested list of
2526 Each argument should start with a \c \\arg command.
2531 \arg \c AlignLeft left alignment.
2532 \arg \c AlignCenter center alignment.
2533 \arg \c AlignRight right alignment
2535 No other types of alignment are supported.
2537 will result in the following text:<br><br>
2539 <li> \c AlignLeft left alignment.
2540 <li> \c AlignCenter center alignment.
2541 <li> \c AlignRight right alignment
2543 No other types of alignment are supported.
2546 For nested lists, HTML commands should be used.
2548 Equivalent to \ref cmdli "\\li"
2552 \section cmdb \\b <word>
2555 Displays the argument \<word\> using a bold font.
2556 Equivalent to \<b\>word\</b\>.
2557 To put multiple words in bold use \<b\>multiple words\</b\>.
2560 \section cmdc \\c <word>
2563 Displays the argument \<word\> using a typewriter font.
2564 Use this to refer to a word of code.
2565 Equivalent to \<tt\>word\</tt\>.
2570 ... This function returns \c void and not \c int ...
2572 will result in the following text:<br><br>
2573 ... This function returns \c void and not \c int ...
2575 Equivalent to \ref cmdp "\\p"
2576 To have multiple words in typewriter font use \<tt\>multiple words\</tt\>.
2579 \section cmdcode \\code [ '{'<word>'}']
2582 Starts a block of code. A code block is treated differently
2583 from ordinary text. It is interpreted as source code. The names of
2584 classes and members and other documented entities are automatically
2585 replaced by links to the documentation.
2587 By default the language that is assumed for syntax highlighting is based
2588 on the location where the \c \\code block was found. If this part of
2589 a Python file for instance, the syntax highlight will be done according
2590 to the Python syntax.
2592 If it unclear from the context which language is meant (for instance the
2593 comment is in a <code>.txt</code> or <code>.markdown</code> file) then you can also explicitly
2594 indicate the language, by putting the file extension typically
2595 that doxygen associated with the language in curly brackets after the
2596 code block. Here is an example:
2609 If the contents of the code block are in a language that doxygen cannot parse, doxygen
2610 will just show the output as-is. You can make this explicit using .unparsed, or by
2611 giving some other extension that doxygen doesn't support, e.g.
2615 Show this as-is please
2619 echo "This is a shell script"
2623 \sa section \ref cmdendcode "\\endcode" and section \ref cmdverbatim "\\verbatim".
2626 \section cmdcopydoc \\copydoc <link-object>
2629 Copies a documentation block from the object specified by \<link-object\>
2630 and pastes it at the location of the command. This command can be useful
2631 to avoid cases where a documentation block would otherwise have to be
2632 duplicated or it can be used to extend the documentation of an inherited
2635 The link object can point to a member (of a class, file or group),
2636 a class, a namespace, a group, a page, or a file (checked in that order).
2637 Note that if the object pointed to is a member (function, variable,
2638 typedef, etc), the compound (class, file, or group) containing it
2639 should also be documented for the copying to work.
2641 To copy the documentation for a member of a
2642 class one can, for instance, put the following in the documentation:
2645 /*! @copydoc MyClass::myfunction()
2646 * More documentation.
2650 if the member is overloaded, you should specify the argument types
2651 explicitly (without spaces!), like in the following:
2654 //! @copydoc MyClass::myfunction(type1,type2)
2657 Qualified names are only needed if the context in which the documentation
2658 block is found requires them.
2660 The \c \\copydoc command can be used recursively, but cycles in the \c \\copydoc
2661 relation will be broken and flagged as an error.
2663 Note that <code>\\copydoc foo()</code> is roughly equivalent to doing:
2665 \brief \copybrief foo()
2666 \details \copydetails foo()
2668 See \ref cmdcopybrief "\\copybrief" and
2669 \ref cmdcopydetails "\\copydetails" for copying only the brief or
2670 detailed part of the comment block.
2673 \section cmdcopybrief \\copybrief <link-object>
2675 \addindex \\copybrief
2676 Works in a similar way as \ref cmdcopydoc "\\copydoc" but will
2677 only copy the brief description, not the detailed documentation.
2680 \section cmdcopydetails \\copydetails <link-object>
2682 \addindex \\copydetails
2683 Works in a similar way as \ref cmdcopydoc "\\copydoc" but will
2684 only copy the detailed documentation, not the brief description.
2687 \section cmddocbookonly \\docbookonly
2689 \addindex \\docbookonly
2690 Starts a block of text that will be verbatim included in the
2691 generated DocBook documentation only. The block ends with a
2692 \ref cmdenddocbookonly "\\enddocbookonly" command.
2694 \sa section \ref cmdmanonly "\\manonly",
2695 \ref cmdlatexonly "\\latexonly",
2696 \ref cmdrtfonly "\\rtfonly",
2697 \ref cmdxmlonly "\\xmlonly", and
2698 \ref cmdhtmlonly "\\htmlonly".
2701 \section cmddot \\dot ["caption"] [<sizeindication>=<size>]
2704 Starts a text fragment which should contain a valid description of a
2705 dot graph. The text fragment ends with \ref cmdenddot "\\enddot".
2706 Doxygen will pass the text on to dot and include the resulting
2707 image (and image map) into the output.
2709 The first argument is optional and can be used to specify the caption
2710 that is displayed below the image. This argument has to be specified
2711 between quotes even if it does not contain any spaces. The quotes are
2712 stripped before the caption is displayed.
2714 The second argument is also optional and can be used to specify the
2715 width or height of the image.
2716 For a description of the possibilities see the paragraph
2717 \ref image_sizeindicator "Size indication" with the
2718 \ref cmdimage "\\image" command.
2720 The nodes of a graph can be made clickable by using the URL attribute.
2721 By using the command \ref cmdref "\\ref" inside the URL value you can conveniently
2722 link to an item inside doxygen. Here is an example:
2732 * Class relations expressed via an inline dot graph:
2735 * node [shape=record, fontname=Helvetica, fontsize=10];
2736 * b [ label="class B" URL="\ref B"];
2737 * c [ label="class C" URL="\ref C"];
2738 * b -> c [ arrowhead="open", style="dashed" ];
2741 * Note that the classes in the above graph are clickable
2742 * (in the HTML output).
2747 \section cmdemoji \\emoji "name"
2749 This command will produce an emoji character given its name.
2751 The supported names are the ones also supported by GitHub and listed here
2752 https://gist.github.com/rxaviers/7360908
2754 You can use the name with or without colons, i.e.
2755 `\emoji smile` is the same as writing `\emoji :smile:`.
2756 When an emoji is not supported the name with by places in the
2757 text with in between colons, i.e. `\emoji unsupported` will produce
2758 `:unsupported:` in the output. Doxygen will also give a warning message.
2760 See also the \ref emojisup "emoji support page" for details.
2763 \section cmdmsc \\msc ["caption"] [<sizeindication>=<size>]
2766 Starts a text fragment which should contain a valid description of a
2767 message sequence chart. See http://www.mcternan.me.uk/mscgen/ for examples.
2768 The text fragment ends with \ref cmdendmsc "\\endmsc".
2770 The first argument is optional and can be used to specify the caption
2771 that is displayed below the image. This argument has to be specified
2772 between quotes even if it does not contain any spaces. The quotes are
2773 stripped before the caption is displayed.
2775 The second argument is also optional and can be used to specify the
2776 width or height of the image.
2777 For a description of the possibilities see the paragraph
2778 \ref image_sizeindicator "Size indication" with the
2779 \ref cmdimage "\\image" command.
2781 \note The text fragment should only include the part of the message
2782 sequence chart that is
2783 within the <code>msc {...}</code> block.
2784 \note You need to install the <code>mscgen</code> tool, if you want to use this
2787 Here is an example of the use of the \c \\msc command.
2789 /** Sender class. Can be used to send a command to the server.
2790 * The receiver will acknowledge the command by calling Ack().
2793 * Sender->Receiver [label="Command()", URL="\ref Receiver::Command()"];
2794 * Sender<-Receiver [label="Ack()", URL="\ref Ack()", ID="1"];
2800 /** Acknowledgment from server */
2804 /** Receiver class. Can be used to receive and execute commands.
2805 * After execution of a command, the receiver will send an acknowledgment
2808 * Receiver<-Sender [label="Command()", URL="\ref Command()"];
2809 * Receiver->Sender [label="Ack()", URL="\ref Sender::Ack()", ID="1"];
2815 /** Executable a command on the server */
2816 void Command(int commandId);
2821 \sa section \ref cmdmscfile "\\mscfile".
2824 \section cmdstartuml \\startuml [{file}] ["caption"] [<sizeindication>=<size>]
2826 \addindex \\startuml
2827 Starts a text fragment which should contain a valid description of a
2828 PlantUML diagram. See http://plantuml.com/ for examples.
2829 The text fragment ends with \ref cmdenduml "\\enduml".
2830 \note You need to install Java and the PlantUML's jar file,
2831 if you want to use this command. The location of the jar file should be specified
2832 using \ref cfg_plantuml_jar_path "PLANTUML_JAR_PATH".
2834 The first argument is optional and is for compatibility with running PlantUML as a preprocessing
2835 step before running doxygen, you can also add the name of the image file after \c \\startuml
2836 and inside curly brackets, i.e.
2838 @startuml{myimage.png} "Image Caption" width=5cm
2839 Alice -> Bob : Hello
2842 When the name of the image is specified, doxygen will generate an image with that name.
2843 Without the name doxygen will choose a name automatically.
2845 The second argument is optional and can be used to specify the caption
2846 that is displayed below the image. This argument has to be specified
2847 between quotes even if it does not contain any spaces. The quotes are
2848 stripped before the caption is displayed.
2850 The third argument is also optional and can be used to specify the
2851 width or height of the image.
2852 For a description of the possibilities see the paragraph
2853 \ref image_sizeindicator "Size indication" with the
2854 \ref cmdimage "\\image" command.
2856 Here is an example of the use of the \c \\startuml command.
2858 /** Sender class. Can be used to send a command to the server.
2859 * The receiver will acknowledge the command by calling Ack().
2861 * Sender->Receiver : Command()
2862 * Sender<--Receiver : Ack()
2868 /** Acknowledgment from server */
2872 /** Receiver class. Can be used to receive and execute commands.
2873 * After execution of a command, the receiver will send an acknowledgment
2875 * Receiver<-Sender : Command()
2876 * Receiver-->Sender : Ack()
2882 /** Executable a command on the server */
2883 void Command(int commandId);
2888 \section cmddotfile \\dotfile <file> ["caption"] [<sizeindication>=<size>]
2891 Inserts an image generated by dot from \<file\> into the documentation.
2893 The first argument specifies the file name of the image.
2894 doxygen will look for files in the paths (or files) that you specified
2895 after the \ref cfg_dotfile_dirs "DOTFILE_DIRS" tag.
2896 If the dot file is found it will be used as an input file to the dot tool.
2897 The resulting image will be put into the correct output directory.
2898 If the dot file name contains spaces you'll have to put quotes ("...") around it.
2900 The second argument is optional and can be used to specify the caption
2901 that is displayed below the image. This argument has to be specified
2902 between quotes even if it does not contain any spaces. The quotes are
2903 stripped before the caption is displayed.
2905 The third argument is also optional and can be used to specify the
2906 width or height of the image.
2907 For a description of the possibilities see the paragraph
2908 \ref image_sizeindicator "Size indication" with the
2909 \ref cmdimage "\\image" command.
2911 \sa section \ref cmddot "\\dot".
2914 \section cmdmscfile \\mscfile <file> ["caption"] [<sizeindication>=<size>]
2917 Inserts an image generated by mscgen from \<file\> into the documentation.
2918 See http://www.mcternan.me.uk/mscgen/ for examples.
2920 The first argument specifies the file name of the image.
2921 doxygen will look for files in the paths (or files) that you specified
2922 after the \ref cfg_mscfile_dirs "MSCFILE_DIRS" tag.
2923 If the msc file is found it will be used as an input file to the mscgen tool.
2924 The resulting image will be put into the correct output directory.
2925 If the msc file name contains spaces you'll have to put quotes ("...") around it.
2927 The second argument is optional and can be used to specify the caption
2928 that is displayed below the image. This argument has to be specified
2929 between quotes even if it does not contain any spaces. The quotes are
2930 stripped before the caption is displayed.
2932 The third argument is also optional and can be used to specify the
2933 width or height of the image.
2934 For a description of the possibilities see the paragraph
2935 \ref image_sizeindicator "Size indication" with the
2936 \ref cmdimage "\\image" command.
2938 \sa section \ref cmdmsc "\\msc".
2941 \section cmddiafile \\diafile <file> ["caption"] [<sizeindication>=<size>]
2944 Inserts an image made in dia from \<file\> into the documentation.
2946 The first argument specifies the file name of the image.
2947 doxygen will look for files in the paths (or files) that you specified
2948 after the \ref cfg_diafile_dirs "DIAFILE_DIRS" tag.
2949 If the dia file is found it will be used as an input file dia.
2950 The resulting image will be put into the correct output directory.
2951 If the dia file name contains spaces you'll have to put quotes ("...") around it.
2953 The second argument is optional and can be used to specify the caption
2954 that is displayed below the image. This argument has to be specified
2955 between quotes even if it does not contain any spaces. The quotes are
2956 stripped before the caption is displayed.
2958 The third argument is also optional and can be used to specify the
2959 width or height of the image.
2960 For a description of the possibilities see the paragraph
2961 \ref image_sizeindicator "Size indication" with the
2962 \ref cmdimage "\\image" command.
2965 \section cmde \\e <word>
2968 Displays the argument \<word\> in italics.
2969 Use this command to emphasize words.
2974 ... this is a \e really good example ...
2976 will result in the following text:<br><br>
2977 ... this is a \e really good example ...
2979 Equivalent to \ref cmda "\\a" and \ref cmdem "\\em".
2980 To emphasize multiple words use \<em\>multiple words\</em\>.
2983 \section cmdem \\em <word>
2986 Displays the argument \<word\> in italics.
2987 Use this command to emphasize words.
2992 ... this is a \em really good example ...
2994 will result in the following text:<br><br>
2995 ... this is a \em really good example ...
2997 Equivalent to \ref cmda "\\a" and \ref cmde "\\e".
2998 To emphasize multiple words use \<em\>multiple words\</em\>.
3001 \section cmdendcode \\endcode
3004 Ends a block of code.
3005 \sa section \ref cmdcode "\\code"
3008 \section cmdenddocbookonly \\enddocbookonly
3010 \addindex \\enddocbookonly
3011 Ends a block of text that was started with a \ref cmddocbookonly "\\docbookonly" command.
3013 \sa section \ref cmddocbookonly "\\docbookonly".
3016 \section cmdenddot \\enddot
3019 Ends a block that was started with \ref cmddot "\\dot".
3022 \section cmdendmsc \\endmsc
3025 Ends a block that was started with \ref cmdmsc "\\msc".
3028 \section cmdenduml \\enduml
3031 Ends a block that was started with \ref cmdstartuml "\\startuml".
3034 \section cmdendhtmlonly \\endhtmlonly
3036 \addindex \\endhtmlonly
3037 Ends a block of text that was started with a \ref cmdhtmlonly "\\htmlonly" command.
3039 \sa section \ref cmdhtmlonly "\\htmlonly".
3042 \section cmdendlatexonly \\endlatexonly
3044 \addindex \\endlatexonly
3045 Ends a block of text that was started with a \ref cmdlatexonly "\\latexonly" command.
3047 \sa section \ref cmdlatexonly "\\latexonly".
3050 \section cmdendmanonly \\endmanonly
3052 \addindex \\endmanonly
3053 Ends a block of text that was started with a \ref cmdmanonly "\\manonly" command.
3055 \sa section \ref cmdmanonly "\\manonly".
3058 \section cmdendrtfonly \\endrtfonly
3060 \addindex \\endrtfonly
3061 Ends a block of text that was started with a \ref cmdrtfonly "\\rtfonly" command.
3063 \sa section \ref cmdrtfonly "\\rtfonly".
3067 \section cmdendverbatim \\endverbatim
3069 \addindex \\endverbatim
3070 Ends a block of text that was started with a \ref cmdverbatim "\\verbatim" command.
3072 \sa section \ref cmdverbatim "\\verbatim".
3075 \section cmdendxmlonly \\endxmlonly
3077 \addindex \\endxmlonly
3078 Ends a block of text that was started with a \ref cmdxmlonly "\\xmlonly" command.
3080 \sa section \ref cmdxmlonly "\\xmlonly".
3083 \section cmdfdollar \\f$
3087 Marks the start and end of an in-text formula.
3088 \sa section \ref formulas "formulas" for an example.
3091 \section cmdfbropen \\f[
3095 Marks the start of a long formula that is displayed
3096 centered on a separate line.
3097 \sa section \ref cmdfbrclose "\\f]" and section \ref formulas "formulas".
3100 \section cmdfbrclose \\f]
3104 Marks the end of a long formula that is displayed
3105 centered on a separate line.
3106 \sa section \ref cmdfbropen "\\f[" and section \ref formulas "formulas".
3109 \section cmdfcurlyopen \\f{environment}{
3113 Marks the start of a formula that is in a specific environment.
3114 \note The second \c { is optional and is only to help editors (such as \c Vim) to
3115 do proper syntax highlighting by making the number of opening and closing braces
3117 \sa section \ref cmdfcurlyclose "\\f}" and section \ref formulas "formulas".
3120 \section cmdfcurlyclose \\f}
3124 Marks the end of a formula that is in a specific environment.
3125 \sa section \ref cmdfcurlyopen "\\f{" and section \ref formulas "formulas".
3128 \section cmdhtmlonly \\htmlonly ["[block]"]
3130 \addindex \\htmlonly
3131 Starts a block of text that will be verbatim included in the
3132 generated HTML documentation only. The block ends with a
3133 \ref cmdendhtmlonly "\\endhtmlonly" command.
3135 This command can be used to include HTML code that is too complex
3136 for doxygen (i.e. applets, java-scripts, and HTML tags that
3137 require specific attributes).
3139 Normally the contents between \ref cmdhtmlonly "\\htmlonly" and
3140 \ref cmdendhtmlonly "\\endhtmlonly" is inserted as-is. When you
3141 want to insert a HTML fragment that has block scope like a table or list
3142 which should appear outside \<p\>..\</p\>, this can lead to invalid HTML.
3143 You can use \\htmlonly[block] to make doxygen
3144 end the current paragraph and restart it after \\endhtmlonly.
3146 \note environment variables (like \$(HOME) ) are resolved inside a
3149 \sa section \ref cmdmanonly "\\manonly",
3150 \ref cmdlatexonly "\\latexonly",
3151 \ref cmdrtfonly "\\rtfonly",
3152 \ref cmdxmlonly "\\xmlonly",
3153 \ref cmddocbookonly "\\docbookonly", and
3154 \ref cmdhtmlinclude "\\htmlinclude".
3157 \section cmdimage \\image['{'[option]'}'] <format> <file> ["caption"] [<sizeindication>=<size>]
3160 Inserts an image into the documentation. This command is format
3161 specific, so if you want to insert an image for more than one
3162 format you'll have to repeat this command for each format.
3164 The first argument specifies the output format in which the image should
3165 be embedded. Currently, the following values are supported:
3166 \c html, \c latex, \c docbook and \c rtf.
3168 The second argument specifies the file name of the image.
3169 doxygen will look for files in the paths (or files) that you specified
3170 after the \ref cfg_image_path "IMAGE_PATH" tag.
3171 If the image is found it will be copied to the correct output directory.
3172 If the image name contains spaces you'll have to put quotes ("...") around
3173 the name. You can also specify an absolute URL instead of a file name, but then
3174 doxygen does not copy the image nor check its existence.
3176 The third argument is optional and can be used to specify the caption
3177 that is displayed below the image. This argument has to be specified
3178 on a single line and between quotes even if it does not contain any
3179 spaces. The quotes are stripped before the caption is displayed.
3181 The fourth argument is also optional and can be used to specify the
3182 width or height of the image. This can be useful for \LaTeX or DocBook output
3183 (i.e. format=<code>latex</code> or format=<code>docbook</code>).
3184 \anchor image_sizeindicator \par Size indication
3185 The \c sizeindication can specify the width or height to be used (or a combination).
3186 The size specifier in \LaTeX (for example `10cm` or
3187 `4in` or a symbolic width like `\\textwidth`).
3189 Currently only the option `inline` is supported. In case the option `inline` is
3190 specified the image is placed "in the line", when a caption s present it is shown
3191 in HTML as tooltip (ignored for the other formats).
3193 Here is example of a comment block:
3196 /*! Here is a snapshot of my new application:
3197 * \image html application.jpg
3198 * \image latex application.eps "My application" width=10cm
3202 And this is an example of how the relevant part of the configuration file
3206 IMAGE_PATH = my_image_dir
3209 \warning The image format for HTML is limited to what your
3210 browser supports. For \LaTeX, the image format
3211 must be Encapsulated PostScript (eps).
3213 Doxygen does not check if the image is in the correct format.
3214 So \e you have to make sure this is the case!
3217 \section cmdlatexonly \\latexonly
3219 \addindex \\latexonly
3220 Starts a block of text that will be verbatim included in the
3221 generated \LaTeX documentation only. The block ends with a
3222 \ref cmdendlatexonly "\\endlatexonly" command.
3224 This command can be used to include \LaTeX code that is too
3225 complex for doxygen (i.e. images, formulas, special characters). You can
3226 use the \ref cmdhtmlonly "\\htmlonly" and \ref cmdendhtmlonly "\\endhtmlonly"
3227 pair to provide a proper HTML alternative.
3230 environment variables (like \$(HOME) ) are resolved inside a
3233 \sa sections \ref cmdrtfonly "\\rtfonly",
3234 \ref cmdxmlonly "\\xmlonly",
3235 \ref cmdmanonly "\\manonly",
3236 \ref cmdhtmlonly "\\htmlonly", and
3237 \ref cmdhtmlonly "\\docbookonly".
3240 \section cmdmanonly \\manonly
3243 Starts a block of text that will be verbatim included in the
3244 generated MAN documentation only. The block ends with a
3245 \ref cmdendmanonly "\\endmanonly" command.
3247 This command can be used to include groff code directly into
3248 MAN pages. You can use the \ref cmdhtmlonly "\\htmlonly" and
3249 \ref cmdendhtmlonly "\\endhtmlonly" and
3250 \ref cmdlatexonly "\\latexonly" and
3251 \ref cmdendlatexonly "\\endlatexonly" pairs to provide proper
3252 HTML and \LaTeX alternatives.
3254 \sa sections \ref cmdhtmlonly "\\htmlonly",
3255 \ref cmdxmlonly "\\xmlonly",
3256 \ref cmdrtfonly "\\rtfonly",
3257 \ref cmdlatexonly "\\latexonly", and
3258 \ref cmddocbookonly "\\docbookonly".
3261 \section cmdli \\li { item-description }
3264 This command has one argument that continues until the first
3265 blank line or until another \c \\li is encountered.
3266 The command can be used to generate a simple, not nested list of
3268 Each argument should start with a \c \\li command.
3273 \li \c AlignLeft left alignment.
3274 \li \c AlignCenter center alignment.
3275 \li \c AlignRight right alignment
3277 No other types of alignment are supported.
3279 will result in the following text:<br><br>
3281 <li> \c AlignLeft left alignment.
3282 <li> \c AlignCenter center alignment.
3283 <li> \c AlignRight right alignment
3285 No other types of alignment are supported.
3288 For nested lists, HTML commands should be used.
3290 Equivalent to \ref cmdarg "\\arg"
3296 Forces a new line. Equivalent to \<br\> and inspired by
3297 the \c printf function.
3300 \section cmdp \\p <word>
3303 Displays the parameter \<word\> using a typewriter font.
3304 You can use this command to refer to member function parameters in
3309 ... the \p x and \p y coordinates are used to ...
3311 This will result in the following text:<br><br>
3312 ... the \p x and \p y coordinates are used to ...
3314 Equivalent to \ref cmdc "\\c"
3315 To have multiple words in typewriter font use \<tt\>multiple words\</tt\>.
3318 \section cmdrtfonly \\rtfonly
3321 Starts a block of text that will be verbatim included in the
3322 generated RTF documentation only. The block ends with a
3323 \ref cmdendrtfonly "\\endrtfonly" command.
3325 This command can be used to include RTF code that is too complex
3329 environment variables (like \$(HOME) ) are resolved inside a
3332 \sa sections \ref cmdmanonly "\\manonly",
3333 \ref cmdxmlonly "\\xmlonly",
3334 \ref cmdlatexonly "\\latexonly",
3335 \ref cmdhtmlonly "\\htmlonly", and
3336 \ref cmddocbookonly "\\docbookonly".
3339 \section cmdverbatim \\verbatim
3341 \addindex \\verbatim
3342 Starts a block of text that will be verbatim included in
3343 the documentation. The block should end with a
3344 \ref cmdendverbatim "\\endverbatim" command.
3345 All commands are disabled in a verbatim block.
3347 \warning Make sure you include a \ref cmdendverbatim "\\endverbatim" command for each
3348 \c \\verbatim command or the parser will get confused!
3350 \sa sections \ref cmdcode "\\code",
3351 \ref cmdendverbatim "\\endverbatim" and
3352 \ref cmdverbinclude "\\verbinclude".
3355 \section cmdxmlonly \\xmlonly
3358 Starts a block of text that will be verbatim included in the
3359 generated XML output only. The block ends with a
3360 \ref cmdendxmlonly "\\endxmlonly" command.
3362 This command can be used to include custom XML tags.
3364 \sa sections \ref cmdmanonly "\\manonly",
3365 \ref cmdrtfonly "\\rtfonly",
3366 \ref cmdlatexonly "\\latexonly",
3367 \ref cmdhtmlonly "\\htmlonly", and
3368 \ref cmddocbookonly "\\docbookonly".
3371 \section cmdbackslash \\\\
3374 This command writes a backslash character (\c \\) to the
3375 output. The backslash has to be escaped in some
3376 cases because doxygen uses it to detect commands.
3382 This command writes an at-sign (\c \@) to the output.
3383 The at-sign has to be escaped in some cases
3384 because doxygen uses it to detect Javadoc commands.
3387 \section cmdtilde \\~[LanguageId]
3389 This command enables/disables a language specific filter. This can be
3390 used to put documentation for different language into one comment block
3391 and use the \ref cfg_output_language "OUTPUT_LANGUAGE" tag to filter out only a specific language.
3392 Use \c \\~language_id to enable output for a specific language only and
3393 \c \\~ to enable output for all languages (this is also the default mode).
3397 /*! \~english This is English \~dutch Dit is Nederlands \~german Dies ist
3398 Deutsch. \~ output for all languages.
3404 \section cmdamp \\\&
3407 This command writes the \c \& character to the output.
3408 This character has to be escaped because it has a special meaning in HTML.
3411 \section cmddollar \\\$
3414 This command writes the \c \$ character to the output.
3415 This character has to be escaped in some cases, because it is used to expand
3416 environment variables.
3419 \section cmdhash \\\#
3422 This command writes the \c \# character to the output. This
3423 character has to be escaped in some cases, because it is used to refer
3424 to documented entities.
3430 This command writes the \c \< character to the output.
3431 This character has to be escaped because it has a special meaning in HTML.
3437 This command writes the \c \> character to the output. This
3438 character has to be escaped because it has a special meaning in HTML.
3441 \section cmdperc \\\%
3444 This command writes the \c \% character to the output. This
3445 character has to be escaped in some cases, because it is used to
3446 prevent auto-linking to a word that is also a documented class or struct.
3449 \section cmdquot \\"
3452 This command writes the \c \" character to the output. This
3453 character has to be escaped in some cases, because it is used in pairs
3454 to indicate an unformatted text fragment.
3457 \section cmdchardot \\.
3460 This command writes a dot (`.`) to the output. This can be useful to
3461 prevent ending a brief description when \ref cfg_javadoc_autobrief "JAVADOC_AUTOBRIEF" is enabled
3462 or to prevent starting a numbered list when the dot follows a number at
3463 the start of a line.
3469 This command writes an equal sign (`=`) to the output. This
3470 character sequence has to be escaped in some cases, because it is used
3471 in Markdown header processing.
3474 \section cmddcolon \\::
3477 This command writes a double colon (\c \::) to the output. This
3478 character sequence has to be escaped in some cases, because it is used
3479 to reference to documented entities.
3482 \section cmdpipe \\|
3485 This command writes a pipe symbol (\|) to the output. This
3486 character has to be escaped in some cases, because it is used
3487 for Markdown tables.
3490 \section cmdndash \\--
3493 This command writes two dashes (\--) to the output. This allows
3494 writing two consecutive dashes to the output instead of one n-dash character (--).
3497 \section cmdmdash \\---
3500 This command writes three dashes (\---) to the output. This allows
3501 writing three consecutive dashes to the output instead of one m-dash character (---).
3504 \htmlonly</p><center><p>\endhtmlonly
3506 \htmlonly --- \endhtmlonly
3507 Commands included for Qt compatibility
3508 \htmlonly --- \endhtmlonly
3510 \htmlonly</p></center><p>\endhtmlonly
3512 The following commands are supported to remain compatible to the Qt class
3513 browser generator. Do \e not use these commands in your own documentation.
3515 <li>\\annotatedclasslist
3516 <li>\\classhierarchy
3520 <li>\\headerfilelist
3530 Go to the <a href="htmlcmds.html">next</a> section or return to the
3531 <a href="index.html">index</a>.