summaryrefslogtreecommitdiffstats
path: root/doc/autolink.doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/autolink.doc')
-rw-r--r--doc/autolink.doc125
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
+
+*/