Merge "removed vFW vLB extra executables"
[demo.git] / VES5.0 / doxygen-1.8.12 / html / autolink.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.12"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>Doxygen: Automatic link generation</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="navtree.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="resize.js"></script>
14 <script type="text/javascript" src="navtreedata.js"></script>
15 <script type="text/javascript" src="navtree.js"></script>
16 <script type="text/javascript">
17   $(document).ready(initResizable);
18 </script>
19 <link href="doxygen_manual.css" rel="stylesheet" type="text/css" />
20 </head>
21 <body>
22 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
23 <div id="titlearea">
24 <table cellspacing="0" cellpadding="0">
25  <tbody>
26  <tr style="height: 56px;">
27   <td id="projectalign" style="padding-left: 0.5em;">
28    <div id="projectname">Doxygen
29    </div>
30   </td>
31  </tr>
32  </tbody>
33 </table>
34 </div>
35 <!-- end header part -->
36 <!-- Generated by Doxygen 1.8.12 -->
37 </div><!-- top -->
38 <div id="side-nav" class="ui-resizable side-nav-resizable">
39   <div id="nav-tree">
40     <div id="nav-tree-contents">
41       <div id="nav-sync" class="sync"></div>
42     </div>
43   </div>
44   <div id="splitbar" style="-moz-user-select:none;" 
45        class="ui-resizable-handle">
46   </div>
47 </div>
48 <script type="text/javascript">
49 $(document).ready(function(){initNavTree('autolink.html','');});
50 </script>
51 <div id="doc-content">
52 <div class="header">
53   <div class="headertitle">
54 <div class="title">Automatic link generation </div>  </div>
55 </div><!--header-->
56 <div class="contents">
57 <div class="toc"><h3>Table of Contents</h3>
58 <ul><li class="level1"><a href="#linkurl">Links to web pages and mail addresses</a></li>
59 <li class="level1"><a href="#linkclass">Links to classes</a></li>
60 <li class="level1"><a href="#linkfile">Links to files</a></li>
61 <li class="level1"><a href="#linkfunc">Links to functions</a></li>
62 <li class="level1"><a href="#linkother">Links to other members</a></li>
63 <li class="level1"><a href="#resolving">typedefs</a></li>
64 </ul>
65 </div>
66 <div class="textblock"><p>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 <a class="el" href="commands.html#cmdsa">\sa</a>), it does allow you to put these kind of links anywhere in the documentation. For <img class="formulaInl" alt="$\mbox{\LaTeX}$" src="form_0.png"/> 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.</p>
67 <p>The next sections show how to generate links to the various documented entities in a source file.</p>
68 <h1><a class="anchor" id="linkurl"></a>
69 Links to web pages and mail addresses</h1>
70 <p>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 '<code>a</code>' tag: </p><pre class="fragment">&lt;a href="linkURL"&gt;link text&lt;/a&gt; </pre><p> which will be automatically translated to other output formats by doxygen.</p>
71 <h1><a class="anchor" id="linkclass"></a>
72 Links to classes</h1>
73 <p>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 <a class="el" href="commands.html#cmdref">\ref</a>.</p>
74 <h1><a class="anchor" id="linkfile"></a>
75 Links to files</h1>
76 <p>All words that contain a dot (<code>.</code>) 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.</p>
77 <h1><a class="anchor" id="linkfunc"></a>
78 Links to functions</h1>
79 <p>Links to functions are created if one of the following patterns is encountered: </p><ol>
80 <li>
81 <code>&lt;functionName&gt;"("&lt;argument-list&gt;")"</code> </li>
82 <li>
83 <code>&lt;functionName&gt;"()"</code> </li>
84 <li>
85 <code>"::"&lt;functionName&gt;</code> </li>
86 <li>
87 <code>(&lt;className&gt;"::")<sup>n</sup>&lt;functionName&gt;"("&lt;argument-list&gt;")"</code> </li>
88 <li>
89 <code>(&lt;className&gt;"::")<sup>n</sup>&lt;functionName&gt;"("&lt;argument-list&gt;")"&lt;modifiers&gt;</code> </li>
90 <li>
91 <code>(&lt;className&gt;"::")<sup>n</sup>&lt;functionName&gt;"()"</code> </li>
92 <li>
93 <code>(&lt;className&gt;"::")<sup>n</sup>&lt;functionName&gt;</code> </li>
94 </ol>
95 <p>where n&gt;0.</p>
96 <dl class="section user"><dt>Note 1: </dt><dd>Function arguments should be specified with correct types, i.e. 'fun(const std::string&amp;,bool)' or '()' to match any prototype. </dd></dl>
97 <dl class="section user"><dt>Note 2:</dt><dd>Member function modifiers (like 'const' and 'volatile') are required to identify the target, i.e. 'func(int) const' and 'func(int)' target different member functions. </dd></dl>
98 <dl class="section user"><dt>Note 3: </dt><dd>For JavaDoc compatibility a # may be used instead of a :: in the patterns above. </dd></dl>
99 <dl class="section user"><dt>Note 4:</dt><dd>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.</dd></dl>
100 <p>For non overloaded members the argument list may be omitted.</p>
101 <p>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.</p>
102 <p>For member functions the class scope (as used in patterns 4 to 7) may be omitted, if: </p><ol>
103 <li>
104 The pattern points to a documented member that belongs to the same class as the documentation block that contains the pattern. </li>
105 <li>
106 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. </li>
107 </ol>
108 <h1><a class="anchor" id="linkother"></a>
109 Links to other members</h1>
110 <p>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.</p>
111 <dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line"><span class="comment">/*! \file autolink.cpp</span></div><div class="line"><span class="comment">  Testing automatic link generation.</span></div><div class="line"><span class="comment">  </span></div><div class="line"><span class="comment">  A link to a member of the Autolink_Test class: Autolink_Test::member, </span></div><div class="line"><span class="comment">  </span></div><div class="line"><span class="comment">  More specific links to the each of the overloaded members:</span></div><div class="line"><span class="comment">  Autolink_Test::member(int) and Autolink_Test#member(int,int)</span></div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">  A link to a protected member variable of Autolink_Test: Autolink_Test#var, </span></div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">  A link to the global enumeration type #GlobEnum.</span></div><div class="line"><span class="comment"> </span></div><div class="line"><span class="comment">  A link to the define #ABS(x).</span></div><div class="line"><span class="comment">  </span></div><div class="line"><span class="comment">  A link to the destructor of the Autolink_Test class: Autolink_Test::~Autolink_Test, </span></div><div class="line"><span class="comment">  </span></div><div class="line"><span class="comment">  A link to the typedef ::B.</span></div><div class="line"><span class="comment"> </span></div><div class="line"><span class="comment">  A link to the enumeration type Autolink_Test::EType</span></div><div class="line"><span class="comment">  </span></div><div class="line"><span class="comment">  A link to some enumeration values Autolink_Test::Val1 and ::GVal2</span></div><div class="line"><span class="comment">*/</span></div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">/*!</span></div><div class="line"><span class="comment">  Since this documentation block belongs to the class Autolink_Test no link to </span></div><div class="line"><span class="comment">  Autolink_Test is generated.</span></div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">  Two ways to link to a constructor are: #Autolink_Test and Autolink_Test().</span></div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">  Links to the destructor are: #~Autolink_Test and ~Autolink_Test().</span></div><div class="line"><span class="comment">  </span></div><div class="line"><span class="comment">  A link to a member in this class: member().</span></div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">  More specific links to the each of the overloaded members: </span></div><div class="line"><span class="comment">  member(int) and member(int,int). </span></div><div class="line"><span class="comment">  </span></div><div class="line"><span class="comment">  A link to the variable #var.</span></div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">  A link to the global typedef ::B.</span></div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">  A link to the global enumeration type #GlobEnum.</span></div><div class="line"><span class="comment">  </span></div><div class="line"><span class="comment">  A link to the define ABS(x).</span></div><div class="line"><span class="comment">  </span></div><div class="line"><span class="comment">  A link to a variable \link #var using another text\endlink as a link.</span></div><div class="line"><span class="comment">  </span></div><div class="line"><span class="comment">  A link to the enumeration type #EType.</span></div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">  A link to some enumeration values: \link Autolink_Test::Val1 Val1 \endlink and ::GVal1.</span></div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">  And last but not least a link to a file: autolink.cpp.</span></div><div class="line"><span class="comment">  </span></div><div class="line"><span class="comment">  \sa Inside a see also section any word is checked, so EType, </span></div><div class="line"><span class="comment">      Val1, GVal1, ~Autolink_Test and member will be replaced by links in HTML.</span></div><div class="line"><span class="comment">*/</span></div><div class="line"></div><div class="line"><span class="keyword">class </span>Autolink_Test</div><div class="line">{</div><div class="line">  <span class="keyword">public</span>:</div><div class="line">    Autolink_Test();               <span class="comment">//!&lt; constructor </span></div><div class="line"><span class="comment"></span>   ~Autolink_Test();               <span class="comment">//!&lt; destructor </span></div><div class="line"><span class="comment"></span>    <span class="keywordtype">void</span> member(<span class="keywordtype">int</span>);     <span class="comment">/**&lt; A member function. Details. */</span></div><div class="line">    <span class="keywordtype">void</span> member(<span class="keywordtype">int</span>,<span class="keywordtype">int</span>); <span class="comment">/**&lt; An overloaded member function. Details */</span></div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">    /** An enum type. More details */</span></div><div class="line">    <span class="keyword">enum</span> EType { </div><div class="line">      Val1,               <span class="comment">/**&lt; enum value 1 */</span> </div><div class="line">      Val2                <span class="comment">/**&lt; enum value 2 */</span> </div><div class="line">    };                </div><div class="line"></div><div class="line">  <span class="keyword">protected</span>:</div><div class="line">    <span class="keywordtype">int</span> var;              <span class="comment">/**&lt; A member variable */</span></div><div class="line">};</div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">/*! details. */</span></div><div class="line">Autolink_Test::Autolink_Test() { }</div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">/*! details. */</span></div><div class="line">Autolink_Test::~Autolink_Test() { }</div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">/*! A global variable. */</span></div><div class="line"><span class="keywordtype">int</span> globVar;</div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">/*! A global enum. */</span></div><div class="line"><span class="keyword">enum</span> GlobEnum { </div><div class="line">                GVal1,    <span class="comment">/*!&lt; global enum value 1 */</span> </div><div class="line">                GVal2     <span class="comment">/*!&lt; global enum value 2 */</span> </div><div class="line">              };</div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">/*!</span></div><div class="line"><span class="comment"> *  A macro definition.</span></div><div class="line"><span class="comment"> */</span> </div><div class="line"><span class="preprocessor">#define ABS(x) (((x)&gt;0)?(x):-(x))</span></div><div class="line"></div><div class="line"><span class="keyword">typedef</span> Autolink_Test B;</div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">/*! \fn typedef Autolink_Test B</span></div><div class="line"><span class="comment"> *  A type definition. </span></div><div class="line"><span class="comment"> */</span></div></div><!-- fragment -->  
112   Click <a href="examples/autolink/html/index.html">here</a> 
113   for the corresponding HTML documentation that is generated by doxygen.
114    </dd></dl>
115 <h1><a class="anchor" id="resolving"></a>
116 typedefs</h1>
117 <p>Typedefs that involve classes, structs and unions, like </p><pre class="fragment">typedef struct StructName TypeName
118 </pre><p> create an alias for StructName, so links will be generated to StructName, when either StructName itself or TypeName is encountered.</p>
119 <dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line"><span class="comment">/*! \file restypedef.cpp</span></div><div class="line"><span class="comment"> * An example of resolving typedefs.</span></div><div class="line"><span class="comment"> */</span></div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">/*! \struct CoordStruct</span></div><div class="line"><span class="comment"> * A coordinate pair.</span></div><div class="line"><span class="comment"> */</span></div><div class="line"><span class="keyword">struct </span>CoordStruct</div><div class="line">{<span class="comment"></span></div><div class="line"><span class="comment">  /*! The x coordinate */</span></div><div class="line">  <span class="keywordtype">float</span> x;<span class="comment"></span></div><div class="line"><span class="comment">  /*! The y coordinate */</span></div><div class="line">  <span class="keywordtype">float</span> y;</div><div class="line">};</div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">/*! Creates a type name for CoordStruct */</span> </div><div class="line"><span class="keyword">typedef</span> CoordStruct Coord;</div><div class="line"><span class="comment"></span></div><div class="line"><span class="comment">/*! </span></div><div class="line"><span class="comment"> * This function returns the addition of \a c1 and \a c2, i.e:</span></div><div class="line"><span class="comment"> * (c1.x+c2.x,c1.y+c2.y)</span></div><div class="line"><span class="comment"> */</span></div><div class="line">Coord add(Coord c1,Coord c2)</div><div class="line">{</div><div class="line">}</div></div><!-- fragment -->  
120   Click <a href="examples/restypedef/html/restypedef_8cpp.html">here</a> 
121   for the corresponding HTML documentation that is generated by doxygen.
122    </dd></dl>
123 <p> 
124 Go to the <a href="output.html">next</a> section or return to the
125  <a href="index.html">index</a>.
126  </p>
127 </div></div><!-- contents -->
128 </div><!-- doc-content -->
129 <!-- start footer part -->
130 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
131   <ul>
132     <li class="footer">Generated by
133     <a href="http://www.doxygen.org/index.html">
134     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.12 </li>
135   </ul>
136 </div>
137 </body>
138 </html>