|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Documents produced by Doxygen are derivative works derived from the
|
|
Packit |
1c1d7e |
* input used in their production; they are not affected by this license.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
/*! \page autolink Automatic link generation
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
\tableofcontents
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Most documentation systems have special `see also' sections where links
|
|
Packit |
1c1d7e |
to other pieces of documentation can be inserted.
|
|
Packit |
1c1d7e |
Although doxygen also has a command to start such a section (See section
|
|
Packit |
1c1d7e |
\ref cmdsa "\\sa"), it does allow you to put these kind of links anywhere in the
|
|
Packit |
1c1d7e |
documentation.
|
|
Packit |
1c1d7e |
For \LaTeX documentation a reference to the page number
|
|
Packit |
1c1d7e |
is written instead of a link. Furthermore, the index at the end of the
|
|
Packit |
1c1d7e |
document can be used to quickly find the documentation of a member, class,
|
|
Packit |
1c1d7e |
namespace or file.
|
|
Packit |
1c1d7e |
For man pages no reference information is generated.
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
The next sections show how to generate links to the various documented
|
|
Packit |
1c1d7e |
entities in a source file.
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
\section linkurl Links to web pages and mail addresses
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Doxygen will automatically replace any URLs and mail addresses found in the
|
|
Packit |
1c1d7e |
documentation by links (in HTML). To manually specify link text, use the
|
|
Packit |
1c1d7e |
HTML '<tt>a</tt>' tag:
|
|
Packit |
1c1d7e |
\verbatim link text \endverbatim
|
|
Packit |
1c1d7e |
which will be automatically translated to other output formats by doxygen.
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
\section linkclass Links to classes
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
All words in the documentation that correspond to a documented class and
|
|
Packit |
1c1d7e |
contain at least one non-lower case character will automatically be
|
|
Packit |
1c1d7e |
replaced by a link to the page containing the
|
|
Packit |
1c1d7e |
documentation of the class. If you want to prevent that a word
|
|
Packit |
1c1d7e |
that corresponds to a documented class is replaced by a link you
|
|
Packit |
1c1d7e |
should put a \% in front of the word.
|
|
Packit |
1c1d7e |
To link to an all lower case symbol, use \ref cmdref "\\ref".
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
\section linkfile Links to files
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
All words that contain a dot (<tt>.</tt>) that is not the last character
|
|
Packit |
1c1d7e |
in the word are considered to be file names.
|
|
Packit |
1c1d7e |
If the word is indeed the name of a documented input file, a link will
|
|
Packit |
1c1d7e |
automatically be created to the documentation of that file.
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
\section linkfunc Links to functions
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Links to functions are created if one of the following patterns is
|
|
Packit |
1c1d7e |
encountered:
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
<tt>\<functionName\>"("\<argument-list\>")"</tt>
|
|
Packit |
1c1d7e |
<tt>\<functionName\>"()"</tt>
|
|
Packit |
1c1d7e |
<tt>"::"\<functionName\></tt>
|
|
Packit |
1c1d7e |
<tt>(\<className\>"::")<sup>n</sup>\<functionName\>"("\<argument-list\>")"</tt>
|
|
Packit |
1c1d7e |
<tt>(\<className\>"::")<sup>n</sup>\<functionName\>"("\<argument-list\>")"\<modifiers\></tt>
|
|
Packit |
1c1d7e |
<tt>(\<className\>"::")<sup>n</sup>\<functionName\>"()"</tt>
|
|
Packit |
1c1d7e |
<tt>(\<className\>"::")<sup>n</sup>\<functionName\></tt>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
where n\>0.
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
\par Note 1:
|
|
Packit |
1c1d7e |
Function arguments should be specified with correct types, i.e.
|
|
Packit |
1c1d7e |
'fun(const std::string&,bool)' or '()' to match any prototype.
|
|
Packit |
1c1d7e |
\par Note 2:
|
|
Packit |
1c1d7e |
Member function modifiers (like 'const' and 'volatile')
|
|
Packit |
1c1d7e |
are required to identify the target, i.e. 'func(int) const' and 'func(int)'
|
|
Packit |
1c1d7e |
target different member functions.
|
|
Packit |
1c1d7e |
\par Note 3:
|
|
Packit |
1c1d7e |
For JavaDoc compatibility a \# may be used instead of a :: in
|
|
Packit |
1c1d7e |
the patterns above.
|
|
Packit |
1c1d7e |
\par Note 4:
|
|
Packit |
1c1d7e |
In the documentation of a class containing a member foo,
|
|
Packit |
1c1d7e |
a reference to a global variable is made using "::foo", whereas \#foo
|
|
Packit |
1c1d7e |
will link to the member.
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
For non overloaded members the argument list may be omitted.
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
If a function is overloaded and no matching argument list is specified
|
|
Packit |
1c1d7e |
(i.e. pattern 2 or 6 is used), a link will be created to the
|
|
Packit |
1c1d7e |
documentation of one of the overloaded members.
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
For member functions the class scope (as used in patterns 4 to 7) may
|
|
Packit |
1c1d7e |
be omitted, if:
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
The pattern points to a documented member that belongs to the same class
|
|
Packit |
1c1d7e |
as the documentation block that contains the pattern.
|
|
Packit |
1c1d7e |
The class that corresponds to the documentation blocks that contains
|
|
Packit |
1c1d7e |
the pattern has a base class that contains a documented member
|
|
Packit |
1c1d7e |
that matches the pattern.
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
\section linkother Links to other members
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
All of these entities can be linked to in the same way as described in the
|
|
Packit |
1c1d7e |
previous section. For sake of clarity it is advised to only use
|
|
Packit |
1c1d7e |
patterns 3 and 7 in this case.
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
\par Example:
|
|
Packit |
1c1d7e |
\include autolink.cpp
|
|
Packit |
1c1d7e |
\htmlonly
|
|
Packit |
1c1d7e |
Click here
|
|
Packit |
1c1d7e |
for the corresponding HTML documentation that is generated by doxygen.
|
|
Packit |
1c1d7e |
\endhtmlonly
|
|
Packit |
1c1d7e |
\latexonly
|
|
Packit |
1c1d7e |
See \hyperlink{autolink_example}{Autolink example}
|
|
Packit |
1c1d7e |
for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
|
|
Packit |
1c1d7e |
\endlatexonly
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
\section resolving typedefs
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Typedefs that involve classes, structs and unions, like
|
|
Packit |
1c1d7e |
\verbatim
|
|
Packit |
1c1d7e |
typedef struct StructName TypeName
|
|
Packit |
1c1d7e |
\endverbatim
|
|
Packit |
1c1d7e |
create an alias for StructName, so links will be generated to StructName,
|
|
Packit |
1c1d7e |
when either StructName itself or TypeName is encountered.
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
\par Example:
|
|
Packit |
1c1d7e |
\include restypedef.cpp
|
|
Packit |
1c1d7e |
\htmlonly
|
|
Packit |
1c1d7e |
Click here
|
|
Packit |
1c1d7e |
for the corresponding HTML documentation that is generated by doxygen.
|
|
Packit |
1c1d7e |
\endhtmlonly
|
|
Packit |
1c1d7e |
\latexonly
|
|
Packit |
1c1d7e |
See \hyperlink{restypedef_8cpp}{Typedef example}
|
|
Packit |
1c1d7e |
for the corresponding \mbox{\LaTeX} documentation that is generated by doxygen.
|
|
Packit |
1c1d7e |
\endlatexonly
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
\htmlonly
|
|
Packit |
1c1d7e |
Go to the next section or return to the
|
|
Packit |
1c1d7e |
index.
|
|
Packit |
1c1d7e |
\endhtmlonly
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
*/
|