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