diff options
Diffstat (limited to 'doc/autolink.doc')
-rw-r--r-- | doc/autolink.doc | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/doc/autolink.doc b/doc/autolink.doc new file mode 100644 index 0000000..b0f0fa4 --- /dev/null +++ b/doc/autolink.doc @@ -0,0 +1,125 @@ +/****************************************************************************** + * + * $Id$ + * + * Copyright (C) 1997-1999 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. + * + * All output generated with Doxygen is not covered by this license. + * + */ +/*! \page autolink Automatic link generation + + 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), 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. + + \subsection linkclass Links to classes. + + All words in the documentation that correspond to a documented class + 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. + + \subsection 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. + + \subsection 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\>"()"</tt> + <li><tt>(\<className\>"::")<sup>n</sup>\<functionName\></tt> + </ol> + where n>0. + + \par Notice 1: + The patterns above should not contain spaces, tabs or newlines. + \par Notice 2: + For JavaDoc compatibility a \c # may be used instead of a \c :: in + the patterns above. + + 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 5 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 6) 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> + + \subsection linkother Links to variables, typedefs, enum types, enum values and defines. + + 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 6 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 + + \subsection resolving Resolving of defines and typedefs. + + Macro definitions of the form: +\verbatim +#define TypeName ClassName +\endverbatim + will be resolved inside documentation blocks. + + \par Example: + \verbinclude resdefine.cpp + \htmlonly + Click <a href="$(DOXYGEN_DOCDIR)/examples/resdefine/html/exportedname.html">here</a> + for the corresponding HTML documentation that is generated by Doxygen. + \endhtmlonly + + 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.cpp.html">here</a> + for the corresponding HTML documentation that is generated by Doxygen. + \endhtmlonly + +*/ |