Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > by-pkgid > aaf33964de706a538481c929c1da6a44 > files > 6991

faust-doc-0.9.10-5mdv2010.1.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>FAUST compiler: tree.hh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>tree.hh File Reference</h1>
<p>A tree library with hashconsing and maximal sharing capabilities.  
<a href="#_details">More...</a></p>
<code>#include &quot;<a class="el" href="symbol_8hh_source.html">symbol.hh</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="node_8hh_source.html">node.hh</a>&quot;</code><br/>
<code>#include &lt;vector&gt;</code><br/>
<code>#include &lt;map&gt;</code><br/>
<code>#include &lt;assert.h&gt;</code><br/>
<div class="dynheader">
Include dependency graph for tree.hh:</div>
<div class="dynsection">
</div>
<div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dynsection">
</div>

<p><a href="tree_8hh_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTree.html">CTree</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A <a class="el" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">CTree</a> = (<a class="el" href="classNode.html" title="Class Node = (type x (int + double + Sym + void*)).">Node</a> x [<a class="el" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">CTree</a>]) is a <a class="el" href="classNode.html" title="Class Node = (type x (int + double + Sym + void*)).">Node</a> associated with a list of subtrees called branches.  <a href="classCTree.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTabber.html">Tabber</a></td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classCTree.html">CTree</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a550445c18f13907b563fa164d2aa5c4e">Tree</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef map&lt; <a class="el" href="classCTree.html">Tree</a>, <a class="el" href="classCTree.html">Tree</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a22ad9111eca5d638262f4744720be347">plist</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef vector&lt; <a class="el" href="classCTree.html">Tree</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ad425127c677ce9f82f03e6dc57a87937">tvec</a></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a> (const <a class="el" href="classNode.html">Node</a> &amp;n)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a7b42df3433bf903e48509e1dadba39c1">tree</a> (const <a class="el" href="classNode.html">Node</a> &amp;n, const <a class="el" href="classCTree.html">Tree</a> &amp;a)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a3db1bf5dc3b9e088a3c921d04178373f">tree</a> (const <a class="el" href="classNode.html">Node</a> &amp;n, const <a class="el" href="classCTree.html">Tree</a> &amp;a, const <a class="el" href="classCTree.html">Tree</a> &amp;b)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a766dfc0c3b4fb6b64c37d045466f6658">tree</a> (const <a class="el" href="classNode.html">Node</a> &amp;n, const <a class="el" href="classCTree.html">Tree</a> &amp;a, const <a class="el" href="classCTree.html">Tree</a> &amp;b, const <a class="el" href="classCTree.html">Tree</a> &amp;c)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a690fbe02dd51249747a91fd6c175e45e">tree</a> (const <a class="el" href="classNode.html">Node</a> &amp;n, const <a class="el" href="classCTree.html">Tree</a> &amp;a, const <a class="el" href="classCTree.html">Tree</a> &amp;b, const <a class="el" href="classCTree.html">Tree</a> &amp;c, const <a class="el" href="classCTree.html">Tree</a> &amp;d)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a392459fb5d995744bddfc16ed2a4fc8e">tree</a> (const <a class="el" href="classNode.html">Node</a> &amp;n, const <a class="el" href="classCTree.html">Tree</a> &amp;a, const <a class="el" href="classCTree.html">Tree</a> &amp;b, const <a class="el" href="classCTree.html">Tree</a> &amp;c, const <a class="el" href="classCTree.html">Tree</a> &amp;d, const <a class="el" href="classCTree.html">Tree</a> &amp;e)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a523bce65e2a281fe678f2362496061cf">tree2int</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if t has a node of type int, return it otherwise error  <a href="#a523bce65e2a281fe678f2362496061cf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ad01262fc04f661b162d36b786419a849">tree2float</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if t has a node of type float, return it otherwise error  <a href="#ad01262fc04f661b162d36b786419a849"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ade36e0f4c45ca9bf2307f972715010c7">tree2double</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if t has a node of type float, return it otherwise error  <a href="#ade36e0f4c45ca9bf2307f972715010c7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ac753d60778175e30a86cba647db017ad">tree2str</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if t has a node of type symbol, return its name otherwise error  <a href="#ac753d60778175e30a86cba647db017ad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ad1d692b2c0a86d485a3d096af07632e6">tree2ptr</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if t has a node of type ptr, return it otherwise error  <a href="#ad1d692b2c0a86d485a3d096af07632e6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a91f79cd0c29f24e44e4b3168cfe2fad1">getUserData</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if t has a node of type symbol, return the associated user data  <a href="#a91f79cd0c29f24e44e4b3168cfe2fad1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a06be972e0437c7c09e8a1274586fe176">isTree</a> (const <a class="el" href="classCTree.html">Tree</a> &amp;t, const <a class="el" href="classNode.html">Node</a> &amp;n)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a2efbd9048f67eff602d8c6cac687282f">isTree</a> (const <a class="el" href="classCTree.html">Tree</a> &amp;t, const <a class="el" href="classNode.html">Node</a> &amp;n, <a class="el" href="classCTree.html">Tree</a> &amp;a)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a2a6742a54ab79e2cf4f925e3bfacce31">isTree</a> (const <a class="el" href="classCTree.html">Tree</a> &amp;t, const <a class="el" href="classNode.html">Node</a> &amp;n, <a class="el" href="classCTree.html">Tree</a> &amp;a, <a class="el" href="classCTree.html">Tree</a> &amp;b)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a07aca64530a97fcfc7dab9cbfd5a04d0">isTree</a> (const <a class="el" href="classCTree.html">Tree</a> &amp;t, const <a class="el" href="classNode.html">Node</a> &amp;n, <a class="el" href="classCTree.html">Tree</a> &amp;a, <a class="el" href="classCTree.html">Tree</a> &amp;b, <a class="el" href="classCTree.html">Tree</a> &amp;c)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a6f3f7a6a197c973cd5beca077c282869">isTree</a> (const <a class="el" href="classCTree.html">Tree</a> &amp;t, const <a class="el" href="classNode.html">Node</a> &amp;n, <a class="el" href="classCTree.html">Tree</a> &amp;a, <a class="el" href="classCTree.html">Tree</a> &amp;b, <a class="el" href="classCTree.html">Tree</a> &amp;c, <a class="el" href="classCTree.html">Tree</a> &amp;d)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a75719c0fb9c6ef72dcefbbeac0c96b7d">isTree</a> (const <a class="el" href="classCTree.html">Tree</a> &amp;t, const <a class="el" href="classNode.html">Node</a> &amp;n, <a class="el" href="classCTree.html">Tree</a> &amp;a, <a class="el" href="classCTree.html">Tree</a> &amp;b, <a class="el" href="classCTree.html">Tree</a> &amp;c, <a class="el" href="classCTree.html">Tree</a> &amp;d, <a class="el" href="classCTree.html">Tree</a> &amp;e)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a1781548293b54cd58253e731e130c15e">operator&lt;&lt;</a> (ostream &amp;s, const <a class="el" href="classCTree.html">CTree</a> &amp;t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#aa598f21268aa7198407d2eb6929d09ab">rec</a> (<a class="el" href="classCTree.html">Tree</a> body)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a de Bruijn recursive tree  <a href="#aa598f21268aa7198407d2eb6929d09ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a23ecac1d7caf88fcb57c4d47da0d8e51">rec</a> (<a class="el" href="classCTree.html">Tree</a> id, <a class="el" href="classCTree.html">Tree</a> body)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a symbolic recursive tree  <a href="#a23ecac1d7caf88fcb57c4d47da0d8e51"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a4cb44c6e41e21da830e748dc35f16ba5">isRec</a> (<a class="el" href="classCTree.html">Tree</a> t, <a class="el" href="classCTree.html">Tree</a> &amp;body)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">is t a de Bruijn recursive tree  <a href="#a4cb44c6e41e21da830e748dc35f16ba5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a6eaedeabb2e6f66b31e21c12adb96e54">isRec</a> (<a class="el" href="classCTree.html">Tree</a> t, <a class="el" href="classCTree.html">Tree</a> &amp;id, <a class="el" href="classCTree.html">Tree</a> &amp;body)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">is t a symbolic recursive tree  <a href="#a6eaedeabb2e6f66b31e21c12adb96e54"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ab93ecee07e77e314fe39e3199d06437a">ref</a> (int level)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a de Bruijn recursive reference  <a href="#ab93ecee07e77e314fe39e3199d06437a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a125af067c9ecda063a2eace315f5ae12">ref</a> (<a class="el" href="classCTree.html">Tree</a> id)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a symbolic recursive reference  <a href="#a125af067c9ecda063a2eace315f5ae12"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a3a07093d0e487cc733adab39f6a18e78">isRef</a> (<a class="el" href="classCTree.html">Tree</a> t, int &amp;level)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">is t a de Bruijn recursive reference  <a href="#a3a07093d0e487cc733adab39f6a18e78"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#adb8fa0e2bea8270b17354331c1e344b5">isRef</a> (<a class="el" href="classCTree.html">Tree</a> t, <a class="el" href="classCTree.html">Tree</a> &amp;id)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">is t a symbolic recursive reference  <a href="#adb8fa0e2bea8270b17354331c1e344b5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#af31b1f843981d67b717d68d6285d7da6">isOpen</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">t contains free de Bruijn references  <a href="#af31b1f843981d67b717d68d6285d7da6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a447a569f359244de90fa72c2efdb8be5">isClosed</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">t dont contain free de Bruijn ref  <a href="#a447a569f359244de90fa72c2efdb8be5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#abf6659f19a0e48b81af0b0fb39ede302">lift</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ab896f65486e6d80d4440721f2f89ff96">deBruijn2Sym</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ae6da444b930bc1b8eed51bd15108e5e2">updateAperture</a> (<a class="el" href="classCTree.html">Tree</a> t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#ab9c974fb35ace4ee17e328ce1b1a66c3">operator&lt;&lt;</a> (ostream &amp;s, <a class="el" href="classTabber.html">Tabber</a> &amp;t)</td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTabber.html">Tabber</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tree_8hh.html#a31f92fc27ddbbae324cab50a245fee73">TABBER</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A tree library with hashconsing and maximal sharing capabilities. </p>
<p>A tree library with hashconsing and maximal sharing capabilities.</p>
<p><b>API:</b></p>
<ul>
<li>tree (n) : tree of node n with no branch </li>
<li>tree (n, t1) : tree of node n with a branch t </li>
<li>tree (n, t1,...,tm) : tree of node n with m branches t1,...,tm</li>
</ul>
<p><b>Useful conversions :</b></p>
<ul>
<li>int tree2int (t) : if t has a node of type int, return it otherwise error </li>
<li>float tree2float (t) : if t has a node of type float, return it otherwise error </li>
<li>const char* tree2str (t) : if t has a node of type symbol, return its name otherwise error </li>
<li>void* tree2ptr (t) : if t has a node of type ptr, return it otherwise error</li>
</ul>
<p><b>Pattern matching :</b></p>
<ul>
<li>if (isTree (t, n)) ... : t has node n and no branches; </li>
<li>if (isTree (t, n, &amp;t1) ... : t has node n and 1 branch, t1 is set accordingly; </li>
<li>if (isTree (t, n, &amp;t1...&amp;tm)... : t has node n and m branches, ti's are set accordingly;</li>
</ul>
<p><b>Accessors :</b></p>
<ul>
<li>t-&gt;node() : the node of t { return fNode; } </li>
<li>t-&gt;height() : lambda height such that H(x)=0, H(.e)=1+H(e), H(e*f)=max(H(e),H(f)) </li>
<li>t-&gt;arity() : the number of branches of t { return fArity; } </li>
<li>t-&gt;branch(i) : the ith branch of t</li>
</ul>
<p><b>Attributs :</b></p>
<ul>
<li>t-&gt;attribut() : return the attribut (also a tree) of t </li>
<li>t-&gt;attribut(t') : set the attribut of t to t'</li>
</ul>
<p><b>Properties:</b></p>
<p>If p and q are two <a class="el" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">CTree</a> pointers : p != q &lt;=&gt; *p != *q </p>

<p>Definition in file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a22ad9111eca5d638262f4744720be347"></a><!-- doxytag: member="tree.hh::plist" ref="a22ad9111eca5d638262f4744720be347" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef map&lt;<a class="el" href="classCTree.html">Tree</a>, <a class="el" href="classCTree.html">Tree</a>&gt; <a class="el" href="tree_8hh.html#a22ad9111eca5d638262f4744720be347">plist</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8hh_source.html#l00089">89</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>

</div>
</div>
<a class="anchor" id="a550445c18f13907b563fa164d2aa5c4e"></a><!-- doxytag: member="tree.hh::Tree" ref="a550445c18f13907b563fa164d2aa5c4e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classCTree.html">CTree</a>* <a class="el" href="classCTree.html">Tree</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8hh_source.html#l00086">86</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>

</div>
</div>
<a class="anchor" id="ad425127c677ce9f82f03e6dc57a87937"></a><!-- doxytag: member="tree.hh::tvec" ref="ad425127c677ce9f82f03e6dc57a87937" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef vector&lt;<a class="el" href="classCTree.html">Tree</a>&gt; <a class="el" href="tree_8hh.html#ad425127c677ce9f82f03e6dc57a87937">tvec</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8hh_source.html#l00090">90</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ab896f65486e6d80d4440721f2f89ff96"></a><!-- doxytag: member="tree.hh::deBruijn2Sym" ref="ab896f65486e6d80d4440721f2f89ff96" args="(Tree t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> deBruijn2Sym </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00223">223</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p>

<p>References <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="tree_8hh_source.html#l00160">CTree::getProperty()</a>, <a class="el" href="tree_8hh_source.html#l00225">isClosed()</a>, and <a class="el" href="tree_8hh_source.html#l00158">CTree::setProperty()</a>.</p>

<p>Referenced by <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="doc_8cpp_source.html#l00645">mapPrepareEqSig()</a>, and <a class="el" href="compile__scal_8cpp_source.html#l00096">ScalarCompiler::prepare()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00224"></a>00224 {
<a name="l00225"></a>00225     assert(<a class="code" href="tree_8hh.html#a447a569f359244de90fa72c2efdb8be5" title="t dont contain free de Bruijn ref">isClosed</a>(t));
<a name="l00226"></a>00226     <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> t2 = t-&gt;<a class="code" href="classCTree.html#a902b48b83db587f14dbd31999c0f715f">getProperty</a>(<a class="code" href="recursive-tree_8cpp.html#ade56faf8037fbd6fa55fe1ccc21c74f0">DEBRUIJN2SYM</a>);
<a name="l00227"></a>00227 
<a name="l00228"></a>00228     <span class="keywordflow">if</span> (!t2) {
<a name="l00229"></a>00229         t2 = <a class="code" href="recursive-tree_8cpp.html#ab814aecf89e4591fd9a23f4ab145f8f0">calcDeBruijn2Sym</a>(t);
<a name="l00230"></a>00230         t-&gt;<a class="code" href="classCTree.html#ac628a2ad0d2a21de584e3bca291bd38c">setProperty</a>(<a class="code" href="recursive-tree_8cpp.html#ade56faf8037fbd6fa55fe1ccc21c74f0">DEBRUIJN2SYM</a>, t2);
<a name="l00231"></a>00231     }
<a name="l00232"></a>00232     <span class="keywordflow">return</span> t2;
<a name="l00233"></a>00233 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a91f79cd0c29f24e44e4b3168cfe2fad1"></a><!-- doxytag: member="tree.hh::getUserData" ref="a91f79cd0c29f24e44e4b3168cfe2fad1" args="(Tree t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* getUserData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>if t has a node of type symbol, return the associated user data </p>

<p>Definition at line <a class="el" href="tree_8cpp_source.html#l00386">386</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p>

<p>References <a class="el" href="symbol_8hh_source.html#l00100">getUserData()</a>, <a class="el" href="node_8hh_source.html#l00193">isSym()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00387"></a>00387 {
<a name="l00388"></a>00388     <a class="code" href="classSymbol.html" title="Symbols are unique objects with a name stored in a hash table.">Sym</a> s;
<a name="l00389"></a>00389     <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#ab714e75c43d570297ff54578dc7e9ce3">isSym</a>(t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &amp;s)) {
<a name="l00390"></a>00390         <span class="keywordflow">return</span> <a class="code" href="symbol_8hh.html#a603fcb6c07eacf2688c2a8470637d0ff" title="Returns user data.">getUserData</a>(s);
<a name="l00391"></a>00391     } <span class="keywordflow">else</span> {
<a name="l00392"></a>00392         <span class="keywordflow">return</span> 0;
<a name="l00393"></a>00393     }
<a name="l00394"></a>00394 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a447a569f359244de90fa72c2efdb8be5"></a><!-- doxytag: member="tree.hh::isClosed" ref="a447a569f359244de90fa72c2efdb8be5" args="(Tree t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isClosed </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>t dont contain free de Bruijn ref </p>

<p>Definition at line <a class="el" href="tree_8hh_source.html#l00225">225</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00145">CTree::aperture()</a>.</p>

<p>Referenced by <a class="el" href="recursive-tree_8cpp_source.html#l00182">calcliftn()</a>, and <a class="el" href="recursive-tree_8cpp_source.html#l00223">deBruijn2Sym()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="af31b1f843981d67b717d68d6285d7da6"></a><!-- doxytag: member="tree.hh::isOpen" ref="af31b1f843981d67b717d68d6285d7da6" args="(Tree t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isOpen </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>t contains free de Bruijn references </p>

<p>Definition at line <a class="el" href="tree_8hh_source.html#l00224">224</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00145">CTree::aperture()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a6eaedeabb2e6f66b31e21c12adb96e54"></a><!-- doxytag: member="tree.hh::isRec" ref="a6eaedeabb2e6f66b31e21c12adb96e54" args="(Tree t, Tree &amp;id, Tree &amp;body)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isRec </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>body</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>is t a symbolic recursive tree </p>

<p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00095">95</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00160">CTree::getProperty()</a>, and <a class="el" href="tree_8cpp_source.html#l00319">isTree()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00096"></a>00096 {
<a name="l00097"></a>00097     <span class="keywordflow">if</span> (<a class="code" href="tree_8cpp.html#a06be972e0437c7c09e8a1274586fe176">isTree</a>(t, <a class="code" href="recursive-tree_8cpp.html#a472adc9dd3732243140a081d93b744db">SYMREC</a>, var)) {
<a name="l00098"></a>00098         body = t-&gt;<a class="code" href="classCTree.html#a902b48b83db587f14dbd31999c0f715f">getProperty</a>(<a class="code" href="recursive-tree_8cpp.html#aa589b365baa26873e9e1f76f7482c3fc">RECDEF</a>);
<a name="l00099"></a>00099         <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l00100"></a>00100     } <span class="keywordflow">else</span> {
<a name="l00101"></a>00101         <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00102"></a>00102     }
<a name="l00103"></a>00103 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a4cb44c6e41e21da830e748dc35f16ba5"></a><!-- doxytag: member="tree.hh::isRec" ref="a4cb44c6e41e21da830e748dc35f16ba5" args="(Tree t, Tree &amp;body)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isRec </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>body</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>is t a de Bruijn recursive tree </p>

<p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00059">59</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p>

<p>References <a class="el" href="tree_8cpp_source.html#l00319">isTree()</a>.</p>

<p>Referenced by <a class="el" href="recursivness_8cpp_source.html#l00081">annotate()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00182">calcliftn()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00284">calcsubstitute()</a>, <a class="el" href="privatise_8cpp_source.html#l00102">computePrivatisation()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00878">DocCompiler::generateRecProj()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00766">ScalarCompiler::generateRecProj()</a>, <a class="el" href="subsignals_8cpp_source.html#l00010">getSubSignals()</a>, <a class="el" href="sigorderrules_8cpp_source.html#l00084">infereSigOrder()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00275">infereSigType()</a>, <a class="el" href="ppsig_8cpp_source.html#l00178">ppsig::print()</a>, <a class="el" href="sigprint_8cpp_source.html#l00085">printSignal()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00338">recomputeAperture()</a>, <a class="el" href="simplify_8cpp_source.html#l00154">sigMap()</a>, and <a class="el" href="sigvisitor_8cpp_source.html#l00017">sigvisitor::visit()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00060"></a>00060 {
<a name="l00061"></a>00061     <span class="keywordflow">return</span> <a class="code" href="tree_8cpp.html#a06be972e0437c7c09e8a1274586fe176">isTree</a>(t, <a class="code" href="recursive-tree_8cpp.html#a079e594f132e158b05af96450deaeeb5">DEBRUIJN</a>, body);
<a name="l00062"></a>00062 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="adb8fa0e2bea8270b17354331c1e344b5"></a><!-- doxytag: member="tree.hh::isRef" ref="adb8fa0e2bea8270b17354331c1e344b5" args="(Tree t, Tree &amp;id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isRef </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>is t a symbolic recursive reference </p>

<p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00111">111</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p>

<p>References <a class="el" href="tree_8cpp_source.html#l00319">isTree()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00112"></a>00112 {
<a name="l00113"></a>00113     <span class="keywordflow">return</span> <a class="code" href="tree_8cpp.html#a06be972e0437c7c09e8a1274586fe176">isTree</a>(t, <a class="code" href="recursive-tree_8cpp.html#a472adc9dd3732243140a081d93b744db">SYMREC</a>, v);
<a name="l00114"></a>00114 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a3a07093d0e487cc733adab39f6a18e78"></a><!-- doxytag: member="tree.hh::isRef" ref="a3a07093d0e487cc733adab39f6a18e78" args="(Tree t, int &amp;level)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isRef </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>level</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>is t a de Bruijn recursive reference </p>

<p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00070">70</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p>

<p>References <a class="el" href="node_8hh_source.html#l00120">isInt()</a>, <a class="el" href="tree_8cpp_source.html#l00319">isTree()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p>

<p>Referenced by <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00182">calcliftn()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00284">calcsubstitute()</a>, <a class="el" href="sigorderrules_8cpp_source.html#l00084">infereSigOrder()</a>, <a class="el" href="ppsig_8cpp_source.html#l00178">ppsig::print()</a>, <a class="el" href="sigprint_8cpp_source.html#l00085">printSignal()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00338">recomputeAperture()</a>, and <a class="el" href="sigvisitor_8cpp_source.html#l00017">sigvisitor::visit()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00071"></a>00071 {
<a name="l00072"></a>00072     <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a>    u;
<a name="l00073"></a>00073 
<a name="l00074"></a>00074     <span class="keywordflow">if</span> (<a class="code" href="tree_8cpp.html#a06be972e0437c7c09e8a1274586fe176">isTree</a>(t, <a class="code" href="recursive-tree_8cpp.html#a0a0bb7149e09722eb48442f920afa94a">DEBRUIJNREF</a>, u)) {
<a name="l00075"></a>00075         <span class="keywordflow">return</span> <a class="code" href="node_8hh.html#a8c9b968ac68f6cac1c361002da8afe99">isInt</a>(u-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &amp;level);
<a name="l00076"></a>00076     } <span class="keywordflow">else</span> {
<a name="l00077"></a>00077         <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00078"></a>00078     }
<a name="l00079"></a>00079 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a75719c0fb9c6ef72dcefbbeac0c96b7d"></a><!-- doxytag: member="tree.hh::isTree" ref="a75719c0fb9c6ef72dcefbbeac0c96b7d" args="(const Tree &amp;t, const Node &amp;n, Tree &amp;a, Tree &amp;b, Tree &amp;c, Tree &amp;d, Tree &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isTree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classNode.html">Node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>e</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8cpp_source.html#l00370">370</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00142">CTree::arity()</a>, <a class="el" href="tree_8hh_source.html#l00143">CTree::branch()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00371"></a>00371 { 
<a name="l00372"></a>00372     <span class="keywordflow">if</span> ((t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>() == n) &amp;&amp; (t-&gt;<a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>() == 5)) { 
<a name="l00373"></a>00373         a=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0); 
<a name="l00374"></a>00374         b=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1); 
<a name="l00375"></a>00375         c=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(2); 
<a name="l00376"></a>00376         d=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(3); 
<a name="l00377"></a>00377         e=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(4); 
<a name="l00378"></a>00378         <span class="keywordflow">return</span> <span class="keyword">true</span>; 
<a name="l00379"></a>00379     } <span class="keywordflow">else</span> {
<a name="l00380"></a>00380         <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00381"></a>00381     }
<a name="l00382"></a>00382 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a6f3f7a6a197c973cd5beca077c282869"></a><!-- doxytag: member="tree.hh::isTree" ref="a6f3f7a6a197c973cd5beca077c282869" args="(const Tree &amp;t, const Node &amp;n, Tree &amp;a, Tree &amp;b, Tree &amp;c, Tree &amp;d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isTree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classNode.html">Node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>d</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8cpp_source.html#l00357">357</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00142">CTree::arity()</a>, <a class="el" href="tree_8hh_source.html#l00143">CTree::branch()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00358"></a>00358 { 
<a name="l00359"></a>00359     <span class="keywordflow">if</span> ((t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>() == n) &amp;&amp; (t-&gt;<a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>() == 4)) { 
<a name="l00360"></a>00360         a=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0); 
<a name="l00361"></a>00361         b=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1); 
<a name="l00362"></a>00362         c=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(2); 
<a name="l00363"></a>00363         d=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(3); 
<a name="l00364"></a>00364         <span class="keywordflow">return</span> <span class="keyword">true</span>; 
<a name="l00365"></a>00365     } <span class="keywordflow">else</span> {
<a name="l00366"></a>00366         <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00367"></a>00367     }
<a name="l00368"></a>00368 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a07aca64530a97fcfc7dab9cbfd5a04d0"></a><!-- doxytag: member="tree.hh::isTree" ref="a07aca64530a97fcfc7dab9cbfd5a04d0" args="(const Tree &amp;t, const Node &amp;n, Tree &amp;a, Tree &amp;b, Tree &amp;c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isTree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classNode.html">Node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8cpp_source.html#l00345">345</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00142">CTree::arity()</a>, <a class="el" href="tree_8hh_source.html#l00143">CTree::branch()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00346"></a>00346 { 
<a name="l00347"></a>00347     <span class="keywordflow">if</span> ((t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>() == n) &amp;&amp; (t-&gt;<a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>() == 3)) { 
<a name="l00348"></a>00348         a=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0); 
<a name="l00349"></a>00349         b=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1); 
<a name="l00350"></a>00350         c=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(2); 
<a name="l00351"></a>00351         <span class="keywordflow">return</span> <span class="keyword">true</span>; 
<a name="l00352"></a>00352     } <span class="keywordflow">else</span> {
<a name="l00353"></a>00353         <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00354"></a>00354     }
<a name="l00355"></a>00355 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a2a6742a54ab79e2cf4f925e3bfacce31"></a><!-- doxytag: member="tree.hh::isTree" ref="a2a6742a54ab79e2cf4f925e3bfacce31" args="(const Tree &amp;t, const Node &amp;n, Tree &amp;a, Tree &amp;b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isTree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classNode.html">Node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8cpp_source.html#l00334">334</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00142">CTree::arity()</a>, <a class="el" href="tree_8hh_source.html#l00143">CTree::branch()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00335"></a>00335 { 
<a name="l00336"></a>00336     <span class="keywordflow">if</span> ((t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>() == n) &amp;&amp; (t-&gt;<a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>() == 2)) { 
<a name="l00337"></a>00337         a=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0); 
<a name="l00338"></a>00338         b=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(1); 
<a name="l00339"></a>00339         <span class="keywordflow">return</span> <span class="keyword">true</span>; 
<a name="l00340"></a>00340     } <span class="keywordflow">else</span> {
<a name="l00341"></a>00341         <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00342"></a>00342     }
<a name="l00343"></a>00343 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a2efbd9048f67eff602d8c6cac687282f"></a><!-- doxytag: member="tree.hh::isTree" ref="a2efbd9048f67eff602d8c6cac687282f" args="(const Tree &amp;t, const Node &amp;n, Tree &amp;a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isTree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classNode.html">Node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8cpp_source.html#l00324">324</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00142">CTree::arity()</a>, <a class="el" href="tree_8hh_source.html#l00143">CTree::branch()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00325"></a>00325 { 
<a name="l00326"></a>00326     <span class="keywordflow">if</span> ((t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>() == n) &amp;&amp; (t-&gt;<a class="code" href="classCTree.html#a68f2be5e845407bc956a2893fe6f0d03" title="return the number of branches (subtrees) of a tree">arity</a>() == 1)) { 
<a name="l00327"></a>00327         a=t-&gt;<a class="code" href="classCTree.html#a06c1513b23dc7b0d9da9c930c6dc43c5" title="return the ith branch (subtree) of a tree">branch</a>(0); 
<a name="l00328"></a>00328         <span class="keywordflow">return</span> <span class="keyword">true</span>; 
<a name="l00329"></a>00329     } <span class="keywordflow">else</span> {
<a name="l00330"></a>00330         <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00331"></a>00331     }
<a name="l00332"></a>00332 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a06be972e0437c7c09e8a1274586fe176"></a><!-- doxytag: member="tree.hh::isTree" ref="a06be972e0437c7c09e8a1274586fe176" args="(const Tree &amp;t, const Node &amp;n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isTree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classNode.html">Node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8cpp_source.html#l00319">319</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p>

<p>Referenced by <a class="el" href="boxes_8cpp_source.html#l00176">isBoxAbstr()</a>, <a class="el" href="boxes_8cpp_source.html#l00226">isBoxAccess()</a>, <a class="el" href="boxes_8cpp_source.html#l00177">isBoxAppl()</a>, <a class="el" href="boxes_8cpp_source.html#l00326">isBoxButton()</a>, <a class="el" href="boxes_8cpp_source.html#l00436">isBoxCase()</a>, <a class="el" href="boxes_8cpp_source.html#l00332">isBoxCheckbox()</a>, <a class="el" href="boxes_8cpp_source.html#l00250">isBoxComponent()</a>, <a class="el" href="boxes_8cpp_source.html#l00090">isBoxCut()</a>, <a class="el" href="boxes_8cpp_source.html#l00245">isBoxEnvironment()</a>, <a class="el" href="boxes_8cpp_source.html#l00219">isBoxError()</a>, <a class="el" href="boxes_8cpp_source.html#l00310">isBoxFConst()</a>, <a class="el" href="boxes_8cpp_source.html#l00304">isBoxFFun()</a>, <a class="el" href="boxes_8cpp_source.html#l00316">isBoxFVar()</a>, <a class="el" href="boxes_8cpp_source.html#l00417">isBoxHBargraph()</a>, <a class="el" href="boxes_8cpp_source.html#l00399">isBoxHGroup()</a>, <a class="el" href="boxes_8cpp_source.html#l00339">isBoxHSlider()</a>, <a class="el" href="boxes_8cpp_source.html#l00058">isBoxIdent()</a>, <a class="el" href="boxes_8cpp_source.html#l00154">isBoxIPar()</a>, <a class="el" href="boxes_8cpp_source.html#l00157">isBoxIProd()</a>, <a class="el" href="boxes_8cpp_source.html#l00155">isBoxISeq()</a>, <a class="el" href="boxes_8cpp_source.html#l00156">isBoxISum()</a>, <a class="el" href="boxes_8cpp_source.html#l00255">isBoxLibrary()</a>, <a class="el" href="boxes_8cpp_source.html#l00137">isBoxMerge()</a>, <a class="el" href="boxes_8cpp_source.html#l00380">isBoxNumEntry()</a>, <a class="el" href="boxes_8cpp_source.html#l00125">isBoxPar()</a>, <a class="el" href="boxes_8cpp_source.html#l00448">isBoxPatternMatcher()</a>, <a class="el" href="boxes_8cpp_source.html#l00440">isBoxPatternVar()</a>, <a class="el" href="boxes_8cpp_source.html#l00270">isBoxPrim0()</a>, <a class="el" href="boxes_8cpp_source.html#l00275">isBoxPrim1()</a>, <a class="el" href="boxes_8cpp_source.html#l00280">isBoxPrim2()</a>, <a class="el" href="boxes_8cpp_source.html#l00285">isBoxPrim3()</a>, <a class="el" href="boxes_8cpp_source.html#l00290">isBoxPrim4()</a>, <a class="el" href="boxes_8cpp_source.html#l00295">isBoxPrim5()</a>, <a class="el" href="boxes_8cpp_source.html#l00129">isBoxRec()</a>, <a class="el" href="boxes_8cpp_source.html#l00121">isBoxSeq()</a>, <a class="el" href="boxes_8cpp_source.html#l00104">isBoxSlot()</a>, <a class="el" href="boxes_8cpp_source.html#l00133">isBoxSplit()</a>, <a class="el" href="boxes_8cpp_source.html#l00111">isBoxSymbolic()</a>, <a class="el" href="boxes_8cpp_source.html#l00411">isBoxTGroup()</a>, <a class="el" href="boxes_8cpp_source.html#l00423">isBoxVBargraph()</a>, <a class="el" href="boxes_8cpp_source.html#l00405">isBoxVGroup()</a>, <a class="el" href="boxes_8cpp_source.html#l00359">isBoxVSlider()</a>, <a class="el" href="boxes_8cpp_source.html#l00094">isBoxWire()</a>, <a class="el" href="boxes_8cpp_source.html#l00235">isBoxWithLocalDef()</a>, <a class="el" href="boxes_8cpp_source.html#l00209">isClosure()</a>, <a class="el" href="doc_8cpp_source.html#l00185">isDocDgm()</a>, <a class="el" href="doc_8cpp_source.html#l00181">isDocEqn()</a>, <a class="el" href="doc_8cpp_source.html#l00193">isDocLst()</a>, <a class="el" href="doc_8cpp_source.html#l00189">isDocNtc()</a>, <a class="el" href="doc_8cpp_source.html#l00168">isDocTxt()</a>, <a class="el" href="boxes_8cpp_source.html#l00261">isImportFile()</a>, <a class="el" href="labels_8cpp_source.html#l00028">isPathCurrent()</a>, <a class="el" href="labels_8cpp_source.html#l00024">isPathParent()</a>, <a class="el" href="labels_8cpp_source.html#l00020">isPathRoot()</a>, <a class="el" href="signals_8cpp_source.html#l00151">isProj()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00059">isRec()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00070">isRef()</a>, <a class="el" href="signals_8cpp_source.html#l00286">isSigAttach()</a>, <a class="el" href="signals_8cpp_source.html#l00126">isSigBinOp()</a>, <a class="el" href="signals_8cpp_source.html#l00199">isSigButton()</a>, <a class="el" href="signals_8cpp_source.html#l00205">isSigCheckbox()</a>, <a class="el" href="signals_8cpp_source.html#l00058">isSigDelay1()</a>, <a class="el" href="signals_8cpp_source.html#l00107">isSigDocAccessTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00099">isSigDocConstantTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00103">isSigDocWriteTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00138">isSigFConst()</a>, <a class="el" href="signals_8cpp_source.html#l00133">isSigFFun()</a>, <a class="el" href="signals_8cpp_source.html#l00062">isSigFixDelay()</a>, <a class="el" href="signals_8cpp_source.html#l00187">isSigFloatCast()</a>, <a class="el" href="signals_8cpp_source.html#l00144">isSigFVar()</a>, <a class="el" href="signals_8cpp_source.html#l00091">isSigGen()</a>, <a class="el" href="signals_8cpp_source.html#l00274">isSigHBargraph()</a>, <a class="el" href="signals_8cpp_source.html#l00212">isSigHSlider()</a>, <a class="el" href="signals_8cpp_source.html#l00048">isSigInput()</a>, <a class="el" href="signals_8cpp_source.html#l00184">isSigIntCast()</a>, <a class="el" href="signals_8cpp_source.html#l00070">isSigIota()</a>, <a class="el" href="signals_8cpp_source.html#l00252">isSigNumEntry()</a>, <a class="el" href="signals_8cpp_source.html#l00052">isSigOutput()</a>, <a class="el" href="signals_8cpp_source.html#l00066">isSigPrefix()</a>, <a class="el" href="signals_8cpp_source.html#l00077">isSigRDTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00116">isSigSelect2()</a>, <a class="el" href="signals_8cpp_source.html#l00119">isSigSelect3()</a>, <a class="el" href="signals_8cpp_source.html#l00085">isSigTable()</a>, <a class="el" href="signals_8cpp_source.html#l00375">isSigTuple()</a>, <a class="el" href="signals_8cpp_source.html#l00380">isSigTupleAccess()</a>, <a class="el" href="signals_8cpp_source.html#l00280">isSigVBargraph()</a>, <a class="el" href="signals_8cpp_source.html#l00232">isSigVSlider()</a>, <a class="el" href="signals_8cpp_source.html#l00081">isSigWRTbl()</a>, <a class="el" href="uitree_8cpp_source.html#l00136">isUiFolder()</a>, and <a class="el" href="uitree_8cpp_source.html#l00141">isUiWidget()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00320"></a>00320 { 
<a name="l00321"></a>00321     <span class="keywordflow">return</span> (t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>() == n);
<a name="l00322"></a>00322 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="abf6659f19a0e48b81af0b0fb39ede302"></a><!-- doxytag: member="tree.hh::lift" ref="abf6659f19a0e48b81af0b0fb39ede302" args="(Tree t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> lift </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00149">149</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p>

<p>References <a class="el" href="recursive-tree_8cpp_source.html#l00169">liftn()</a>.</p>

<p>Referenced by <a class="el" href="propagate_8cpp_source.html#l00143">listLift()</a>, and <a class="el" href="propagate_8cpp_source.html#l00196">propagate()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00149"></a>00149 { <span class="keywordflow">return</span> <a class="code" href="recursive-tree_8cpp.html#a170b606017c8f6e443ad39f1dbb9ca8d">liftn</a>(t, 1); }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="ab9c974fb35ace4ee17e328ce1b1a66c3"></a><!-- doxytag: member="tree.hh::operator&lt;&lt;" ref="ab9c974fb35ace4ee17e328ce1b1a66c3" args="(ostream &amp;s, Tabber &amp;t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ostream&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTabber.html">Tabber</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8hh_source.html#l00249">249</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00244">Tabber::print()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00249"></a>00249 { <span class="keywordflow">return</span> t.<a class="code" href="classTabber.html#a43ac045bf16aaa952134c9c1f66aa681">print</a>(s); }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a1781548293b54cd58253e731e130c15e"></a><!-- doxytag: member="tree.hh::operator&lt;&lt;" ref="a1781548293b54cd58253e731e130c15e" args="(ostream &amp;s, const CTree &amp;t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ostream&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">CTree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8hh_source.html#l00198">198</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>

<p>References <a class="el" href="tree_8cpp_source.html#l00188">CTree::print()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00198"></a>00198 { <span class="keywordflow">return</span> t.<a class="code" href="classCTree.html#a47b39b985a852b02b12c8dd2d790543e" title="print recursively the content of a tree on a stream">print</a>(s); }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a23ecac1d7caf88fcb57c4d47da0d8e51"></a><!-- doxytag: member="tree.hh::rec" ref="a23ecac1d7caf88fcb57c4d47da0d8e51" args="(Tree id, Tree body)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> rec </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>body</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>create a symbolic recursive tree </p>

<p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00088">88</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00158">CTree::setProperty()</a>, and <a class="el" href="tree_8hh_source.html#l00173">tree()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00089"></a>00089 {
<a name="l00090"></a>00090     <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> t = <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(<a class="code" href="recursive-tree_8cpp.html#a472adc9dd3732243140a081d93b744db">SYMREC</a>, var);
<a name="l00091"></a>00091     t-&gt;<a class="code" href="classCTree.html#ac628a2ad0d2a21de584e3bca291bd38c">setProperty</a>(<a class="code" href="recursive-tree_8cpp.html#aa589b365baa26873e9e1f76f7482c3fc">RECDEF</a>, body);
<a name="l00092"></a>00092     <span class="keywordflow">return</span> t;
<a name="l00093"></a>00093 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="aa598f21268aa7198407d2eb6929d09ab"></a><!-- doxytag: member="tree.hh::rec" ref="aa598f21268aa7198407d2eb6929d09ab" args="(Tree body)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> rec </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>body</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>create a de Bruijn recursive tree </p>

<p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00054">54</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00173">tree()</a>.</p>

<p>Referenced by <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00182">calcliftn()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00284">calcsubstitute()</a>, <a class="el" href="privatise_8cpp_source.html#l00102">computePrivatisation()</a>, <a class="el" href="propagate_8cpp_source.html#l00196">propagate()</a>, and <a class="el" href="simplify_8cpp_source.html#l00154">sigMap()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00055"></a>00055 {
<a name="l00056"></a>00056     <span class="keywordflow">return</span> <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(<a class="code" href="recursive-tree_8cpp.html#a079e594f132e158b05af96450deaeeb5">DEBRUIJN</a>, body);
<a name="l00057"></a>00057 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a125af067c9ecda063a2eace315f5ae12"></a><!-- doxytag: member="tree.hh::ref" ref="a125af067c9ecda063a2eace315f5ae12" args="(Tree id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> ref </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>id</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>create a symbolic recursive reference </p>

<p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00106">106</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00173">tree()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00107"></a>00107 {
<a name="l00108"></a>00108     <span class="keywordflow">return</span> <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(<a class="code" href="recursive-tree_8cpp.html#a472adc9dd3732243140a081d93b744db">SYMREC</a>, <span class="keywordtype">id</span>);            <span class="comment">// reference to a symbolic id</span>
<a name="l00109"></a>00109 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="ab93ecee07e77e314fe39e3199d06437a"></a><!-- doxytag: member="tree.hh::ref" ref="ab93ecee07e77e314fe39e3199d06437a" args="(int level)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> ref </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>level</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>create a de Bruijn recursive reference </p>

<p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00064">64</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p>

<p>References <a class="el" href="tree_8hh_source.html#l00173">tree()</a>.</p>

<p>Referenced by <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00182">calcliftn()</a>, and <a class="el" href="propagate_8cpp_source.html#l00196">propagate()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00065"></a>00065 {
<a name="l00066"></a>00066     assert(level &gt; 0);
<a name="l00067"></a>00067     <span class="keywordflow">return</span> <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(<a class="code" href="recursive-tree_8cpp.html#a0a0bb7149e09722eb48442f920afa94a">DEBRUIJNREF</a>, <a class="code" href="tree_8hh.html#a61c13e9361cfa80bbb3cd6ce60a8f595">tree</a>(level));  <span class="comment">// reference to enclosing recursive tree starting from 1</span>
<a name="l00068"></a>00068 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a392459fb5d995744bddfc16ed2a4fc8e"></a><!-- doxytag: member="tree.hh::tree" ref="a392459fb5d995744bddfc16ed2a4fc8e" args="(const Node &amp;n, const Tree &amp;a, const Tree &amp;b, const Tree &amp;c, const Tree &amp;d, const Tree &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> tree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classNode.html">Node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>e</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8hh_source.html#l00179">179</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>

<p>References <a class="el" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e">CTree::make()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00179"></a>00179 { <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> br[]= {a,b,c,d,e}; <span class="keywordflow">return</span> <a class="code" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e" title="return a new tree or an existing equivalent one">CTree::make</a>(n, 5, br); }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a690fbe02dd51249747a91fd6c175e45e"></a><!-- doxytag: member="tree.hh::tree" ref="a690fbe02dd51249747a91fd6c175e45e" args="(const Node &amp;n, const Tree &amp;a, const Tree &amp;b, const Tree &amp;c, const Tree &amp;d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> tree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classNode.html">Node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>d</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8hh_source.html#l00177">177</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>

<p>References <a class="el" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e">CTree::make()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00177"></a>00177 { <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> br[]= {a,b,c,d}; <span class="keywordflow">return</span> <a class="code" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e" title="return a new tree or an existing equivalent one">CTree::make</a>(n, 4, br); }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a766dfc0c3b4fb6b64c37d045466f6658"></a><!-- doxytag: member="tree.hh::tree" ref="a766dfc0c3b4fb6b64c37d045466f6658" args="(const Node &amp;n, const Tree &amp;a, const Tree &amp;b, const Tree &amp;c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> tree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classNode.html">Node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8hh_source.html#l00176">176</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>

<p>References <a class="el" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e">CTree::make()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00176"></a>00176 { <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> br[]= {a,b,c}; <span class="keywordflow">return</span> <a class="code" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e" title="return a new tree or an existing equivalent one">CTree::make</a>(n, 3, br); }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a3db1bf5dc3b9e088a3c921d04178373f"></a><!-- doxytag: member="tree.hh::tree" ref="a3db1bf5dc3b9e088a3c921d04178373f" args="(const Node &amp;n, const Tree &amp;a, const Tree &amp;b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> tree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classNode.html">Node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8hh_source.html#l00175">175</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>

<p>References <a class="el" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e">CTree::make()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00175"></a>00175 { <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> br[]= {a,b}; <span class="keywordflow">return</span> <a class="code" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e" title="return a new tree or an existing equivalent one">CTree::make</a>(n, 2, br); }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a7b42df3433bf903e48509e1dadba39c1"></a><!-- doxytag: member="tree.hh::tree" ref="a7b42df3433bf903e48509e1dadba39c1" args="(const Node &amp;n, const Tree &amp;a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> tree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classNode.html">Node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCTree.html">Tree</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8hh_source.html#l00174">174</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>

<p>References <a class="el" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e">CTree::make()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00174"></a>00174 { <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> br[]= {a}; <span class="keywordflow">return</span> <a class="code" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e" title="return a new tree or an existing equivalent one">CTree::make</a>(n, 1, br); }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a61c13e9361cfa80bbb3cd6ce60a8f595"></a><!-- doxytag: member="tree.hh::tree" ref="a61c13e9361cfa80bbb3cd6ce60a8f595" args="(const Node &amp;n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCTree.html">Tree</a> tree </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classNode.html">Node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8hh_source.html#l00173">173</a> of file <a class="el" href="tree_8hh_source.html">tree.hh</a>.</p>

<p>References <a class="el" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e">CTree::make()</a>.</p>

<p>Referenced by <a class="el" href="sigtyperules_8cpp_source.html#l00117">addEnv()</a>, <a class="el" href="signals_8cpp_source.html#l00290">addNums()</a>, <a class="el" href="recursivness_8cpp_source.html#l00081">annotate()</a>, <a class="el" href="eval_8cpp_source.html#l00225">autoName()</a>, <a class="el" href="xtended_8hh_source.html#l00027">xtended::box()</a>, <a class="el" href="boxes_8cpp_source.html#l00170">boxAbstr()</a>, <a class="el" href="boxes_8cpp_source.html#l00225">boxAccess()</a>, <a class="el" href="boxes_8cpp_source.html#l00171">boxAppl()</a>, <a class="el" href="boxes_8cpp_source.html#l00325">boxButton()</a>, <a class="el" href="boxes_8cpp_source.html#l00435">boxCase()</a>, <a class="el" href="boxes_8cpp_source.html#l00331">boxCheckbox()</a>, <a class="el" href="boxcomplexity_8cpp_source.html#l00056">boxComplexity()</a>, <a class="el" href="boxes_8cpp_source.html#l00249">boxComponent()</a>, <a class="el" href="boxes_8cpp_source.html#l00089">boxCut()</a>, <a class="el" href="boxes_8cpp_source.html#l00244">boxEnvironment()</a>, <a class="el" href="boxes_8cpp_source.html#l00214">boxError()</a>, <a class="el" href="boxes_8cpp_source.html#l00309">boxFConst()</a>, <a class="el" href="boxes_8cpp_source.html#l00303">boxFFun()</a>, <a class="el" href="boxes_8cpp_source.html#l00315">boxFVar()</a>, <a class="el" href="boxes_8cpp_source.html#l00416">boxHBargraph()</a>, <a class="el" href="boxes_8cpp_source.html#l00398">boxHGroup()</a>, <a class="el" href="boxes_8cpp_source.html#l00337">boxHSlider()</a>, <a class="el" href="boxes_8cpp_source.html#l00056">boxIdent()</a>, <a class="el" href="boxes_8cpp_source.html#l00074">boxInt()</a>, <a class="el" href="boxes_8cpp_source.html#l00149">boxIPar()</a>, <a class="el" href="boxes_8cpp_source.html#l00152">boxIProd()</a>, <a class="el" href="boxes_8cpp_source.html#l00150">boxISeq()</a>, <a class="el" href="boxes_8cpp_source.html#l00151">boxISum()</a>, <a class="el" href="boxes_8cpp_source.html#l00254">boxLibrary()</a>, <a class="el" href="boxes_8cpp_source.html#l00136">boxMerge()</a>, <a class="el" href="boxes_8cpp_source.html#l00378">boxNumEntry()</a>, <a class="el" href="boxes_8cpp_source.html#l00124">boxPar()</a>, <a class="el" href="boxes_8cpp_source.html#l00443">boxPatternMatcher()</a>, <a class="el" href="boxes_8cpp_source.html#l00439">boxPatternVar()</a>, <a class="el" href="boxes_8cpp_source.html#l00269">boxPrim0()</a>, <a class="el" href="boxes_8cpp_source.html#l00274">boxPrim1()</a>, <a class="el" href="boxes_8cpp_source.html#l00279">boxPrim2()</a>, <a class="el" href="boxes_8cpp_source.html#l00284">boxPrim3()</a>, <a class="el" href="boxes_8cpp_source.html#l00289">boxPrim4()</a>, <a class="el" href="boxes_8cpp_source.html#l00294">boxPrim5()</a>, <a class="el" href="boxes_8cpp_source.html#l00075">boxReal()</a>, <a class="el" href="boxes_8cpp_source.html#l00128">boxRec()</a>, <a class="el" href="boxes_8cpp_source.html#l00120">boxSeq()</a>, <a class="el" href="boxes_8cpp_source.html#l00103">boxSlot()</a>, <a class="el" href="boxes_8cpp_source.html#l00132">boxSplit()</a>, <a class="el" href="boxes_8cpp_source.html#l00110">boxSymbolic()</a>, <a class="el" href="boxes_8cpp_source.html#l00410">boxTGroup()</a>, <a class="el" href="boxes_8cpp_source.html#l00422">boxVBargraph()</a>, <a class="el" href="boxes_8cpp_source.html#l00404">boxVGroup()</a>, <a class="el" href="boxes_8cpp_source.html#l00357">boxVSlider()</a>, <a class="el" href="boxes_8cpp_source.html#l00093">boxWire()</a>, <a class="el" href="boxes_8cpp_source.html#l00234">boxWithLocalDef()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00235">calcDeBruijn2Sym()</a>, <a class="el" href="boxes_8cpp_source.html#l00204">closure()</a>, <a class="el" href="mterm_8cpp_source.html#l00352">combineDivLeft()</a>, <a class="el" href="privatise_8cpp_source.html#l00102">computePrivatisation()</a>, <a class="el" href="tanprim_8cpp_source.html#l00031">TanPrim::computeSigOutput()</a>, <a class="el" href="sqrtprim_8cpp_source.html#l00038">SqrtPrim::computeSigOutput()</a>, <a class="el" href="sinprim_8cpp_source.html#l00031">SinPrim::computeSigOutput()</a>, <a class="el" href="rintprim_8cpp_source.html#l00048">RintPrim::computeSigOutput()</a>, <a class="el" href="remainderprim_8cpp_source.html#l00033">RemainderPrim::computeSigOutput()</a>, <a class="el" href="powprim_8cpp_source.html#l00032">PowPrim::computeSigOutput()</a>, <a class="el" href="minprim_8cpp_source.html#l00036">MinPrim::computeSigOutput()</a>, <a class="el" href="maxprim_8cpp_source.html#l00036">MaxPrim::computeSigOutput()</a>, <a class="el" href="logprim_8cpp_source.html#l00037">LogPrim::computeSigOutput()</a>, <a class="el" href="log10prim_8cpp_source.html#l00038">Log10Prim::computeSigOutput()</a>, <a class="el" href="fmodprim_8cpp_source.html#l00032">FmodPrim::computeSigOutput()</a>, <a class="el" href="floorprim_8cpp_source.html#l00032">FloorPrim::computeSigOutput()</a>, <a class="el" href="expprim_8cpp_source.html#l00032">ExpPrim::computeSigOutput()</a>, <a class="el" href="cosprim_8cpp_source.html#l00031">CosPrim::computeSigOutput()</a>, <a class="el" href="ceilprim_8cpp_source.html#l00032">CeilPrim::computeSigOutput()</a>, <a class="el" href="atanprim_8cpp_source.html#l00031">AtanPrim::computeSigOutput()</a>, <a class="el" href="atan2prim_8cpp_source.html#l00031">Atan2Prim::computeSigOutput()</a>, <a class="el" href="asinprim_8cpp_source.html#l00031">AsinPrim::computeSigOutput()</a>, <a class="el" href="acosprim_8cpp_source.html#l00031">AcosPrim::computeSigOutput()</a>, <a class="el" href="list_8hh_source.html#l00124">cons()</a>, <a class="el" href="sourcereader_8cpp_source.html#l00303">declareMetadata()</a>, <a class="el" href="signals_8cpp_source.html#l00318">divExtendedNums()</a>, <a class="el" href="signals_8cpp_source.html#l00311">divNums()</a>, <a class="el" href="doc_8cpp_source.html#l00184">docDgm()</a>, <a class="el" href="doc_8cpp_source.html#l00180">docEqn()</a>, <a class="el" href="doc_8cpp_source.html#l00192">docLst()</a>, <a class="el" href="doc_8cpp_source.html#l00188">docNtc()</a>, <a class="el" href="doc_8cpp_source.html#l00166">docTxt()</a>, <a class="el" href="labels_8cpp_source.html#l00036">encodeName()</a>, <a class="el" href="prim2_8cpp_source.html#l00029">ffunction()</a>, <a class="el" href="mterm_8cpp_source.html#l00267">gcd()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00498">ScalarCompiler::generateButton()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00507">ScalarCompiler::generateCheckbox()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00572">ScalarCompiler::generateHBargraph()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00526">ScalarCompiler::generateHSlider()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00535">ScalarCompiler::generateNumEntry()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00545">ScalarCompiler::generateVBargraph()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00517">ScalarCompiler::generateVSlider()</a>, <a class="el" href="boxtype_8cpp_source.html#l00063">getBoxType()</a>, <a class="el" href="eval_8cpp_source.html#l00273">getEvalProperty()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00184">getInferredType()</a>, <a class="el" href="eval_8cpp_source.html#l01307">getPMProperty()</a>, <a class="el" href="sigorderrules_8cpp_source.html#l00062">getSigOrder()</a>, <a class="el" href="boxes_8cpp_source.html#l00260">importFile()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00577">infereRecType()</a>, <a class="el" href="signals_8cpp_source.html#l00332">inverseNum()</a>, <a class="el" href="eval_8cpp_source.html#l00816">iteratePar()</a>, <a class="el" href="eval_8cpp_source.html#l00898">iterateProd()</a>, <a class="el" href="eval_8cpp_source.html#l00842">iterateSeq()</a>, <a class="el" href="eval_8cpp_source.html#l00870">iterateSum()</a>, <a class="el" href="labels_8cpp_source.html#l00057">label2path()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00169">liftn()</a>, <a class="el" href="main_8cpp_source.html#l00475">main()</a>, <a class="el" href="privatise_8cpp_source.html#l00054">makePrivatisationKey()</a>, <a class="el" href="privatise_8cpp_source.html#l00061">makePrivatisationLabel()</a>, <a class="el" href="occurences_8cpp_source.html#l00063">OccMarkup::mark()</a>, <a class="el" href="signals_8cpp_source.html#l00325">minusNum()</a>, <a class="el" href="signals_8cpp_source.html#l00304">mulNums()</a>, <a class="el" href="normalize_8cpp_source.html#l00059">normalizeDelay1Term()</a>, <a class="el" href="mterm_8cpp_source.html#l00391">mterm::normalizedTree()</a>, <a class="el" href="aterm_8cpp_source.html#l00059">aterm::normalizedTree()</a>, <a class="el" href="labels_8cpp_source.html#l00027">pathCurrent()</a>, <a class="el" href="labels_8cpp_source.html#l00023">pathParent()</a>, <a class="el" href="labels_8cpp_source.html#l00019">pathRoot()</a>, <a class="el" href="eval_8cpp_source.html#l00647">patternSimplification()</a>, <a class="el" href="doc_8cpp_source.html#l00287">printdocheader()</a>, <a class="el" href="main_8cpp_source.html#l00387">printheader()</a>, <a class="el" href="klass_8cpp_source.html#l00195">Klass::printMetadata()</a>, <a class="el" href="propagate_8cpp_source.html#l00196">propagate()</a>, <a class="el" href="eval_8cpp_source.html#l01151">pushNewLayer()</a>, <a class="el" href="eval_8cpp_source.html#l00309">realeval()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00054">rec()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00064">ref()</a>, <a class="el" href="colorize_8cpp_source.html#l00125">setColorProperty()</a>, <a class="el" href="occurrences_8cpp_source.html#l00057">Occurrences::setCount()</a>, <a class="el" href="names_8cpp_source.html#l00060">setDefNameProperty()</a>, <a class="el" href="errormsg_8cpp_source.html#l00066">setDefProp()</a>, <a class="el" href="eval_8cpp_source.html#l00259">setEvalProperty()</a>, <a class="el" href="occurences_8cpp_source.html#l00148">OccMarkup::setOcc()</a>, <a class="el" href="eval_8cpp_source.html#l01302">setPMProperty()</a>, <a class="el" href="sharing_8cpp_source.html#l00075">ScalarCompiler::setSharingCount()</a>, <a class="el" href="doc__sharing_8cpp_source.html#l00081">DocCompiler::setSharingCount()</a>, <a class="el" href="names_8cpp_source.html#l00108">setSigNickname()</a>, <a class="el" href="shlysis_8cpp_source.html#l00069">shprkey()</a>, <a class="el" href="signals_8cpp_source.html#l00285">sigAttach()</a>, <a class="el" href="signals_8cpp_source.html#l00125">sigBinOp()</a>, <a class="el" href="signals_8cpp_source.html#l00198">sigButton()</a>, <a class="el" href="signals_8cpp_source.html#l00204">sigCheckbox()</a>, <a class="el" href="signals_8cpp_source.html#l00057">sigDelay1()</a>, <a class="el" href="signals_8cpp_source.html#l00106">sigDocAccessTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00098">sigDocConstantTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00102">sigDocWriteTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00137">sigFConst()</a>, <a class="el" href="signals_8cpp_source.html#l00132">sigFFun()</a>, <a class="el" href="signals_8cpp_source.html#l00061">sigFixDelay()</a>, <a class="el" href="signals_8cpp_source.html#l00170">sigFloatCast()</a>, <a class="el" href="signals_8cpp_source.html#l00143">sigFVar()</a>, <a class="el" href="signals_8cpp_source.html#l00090">sigGen()</a>, <a class="el" href="signals_8cpp_source.html#l00273">sigHBargraph()</a>, <a class="el" href="signals_8cpp_source.html#l00210">sigHSlider()</a>, <a class="el" href="signals_8cpp_source.html#l00047">sigInput()</a>, <a class="el" href="signals_8cpp_source.html#l00040">sigInt()</a>, <a class="el" href="signals_8cpp_source.html#l00159">sigIntCast()</a>, <a class="el" href="signals_8cpp_source.html#l00069">sigIota()</a>, <a class="el" href="simplify_8cpp_source.html#l00154">sigMap()</a>, <a class="el" href="signals_8cpp_source.html#l00250">sigNumEntry()</a>, <a class="el" href="signals_8cpp_source.html#l00051">sigOutput()</a>, <a class="el" href="signals_8cpp_source.html#l00065">sigPrefix()</a>, <a class="el" href="signals_8cpp_source.html#l00150">sigProj()</a>, <a class="el" href="signals_8cpp_source.html#l00076">sigRDTbl()</a>, <a class="el" href="signals_8cpp_source.html#l00043">sigReal()</a>, <a class="el" href="signals_8cpp_source.html#l00115">sigSelect2()</a>, <a class="el" href="signals_8cpp_source.html#l00118">sigSelect3()</a>, <a class="el" href="signals_8cpp_source.html#l00084">sigTable()</a>, <a class="el" href="signals_8cpp_source.html#l00374">sigTuple()</a>, <a class="el" href="signals_8cpp_source.html#l00379">sigTupleAccess()</a>, <a class="el" href="signals_8cpp_source.html#l00279">sigVBargraph()</a>, <a class="el" href="signals_8cpp_source.html#l00230">sigVSlider()</a>, <a class="el" href="signals_8cpp_source.html#l00080">sigWRTbl()</a>, <a class="el" href="simplify_8cpp_source.html#l00080">simplification()</a>, <a class="el" href="occurrences_8cpp_source.html#l00067">Occurrences::specificKey()</a>, <a class="el" href="signals_8cpp_source.html#l00297">subNums()</a>, <a class="el" href="list_8cpp_source.html#l00506">subst()</a>, <a class="el" href="recursive-tree_8cpp_source.html#l00271">substitute()</a>, <a class="el" href="list_8cpp_source.html#l00496">substkey()</a>, <a class="el" href="list_8cpp_source.html#l00445">tmap()</a>, <a class="el" href="uitree_8cpp_source.html#l00135">uiFolder()</a>, <a class="el" href="uitree_8cpp_source.html#l00140">uiWidget()</a>, <a class="el" href="faustparser_8cpp_source.html#l00104">unquote()</a>, and <a class="el" href="faustparser_8cpp_source.html#l01621">yyparse()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00173"></a>00173 { <a class="code" href="classCTree.html" title="A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches...">Tree</a> br[1]; <span class="keywordflow">return</span> <a class="code" href="classCTree.html#a3184c572cef05308f59e36ea2bdf537e" title="return a new tree or an existing equivalent one">CTree::make</a>(n, 0, br); }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="ade36e0f4c45ca9bf2307f972715010c7"></a><!-- doxytag: member="tree.hh::tree2double" ref="ade36e0f4c45ca9bf2307f972715010c7" args="(Tree t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double tree2double </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>if t has a node of type float, return it otherwise error </p>

<p>Definition at line <a class="el" href="tree_8cpp_source.html#l00276">276</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p>

<p>References <a class="el" href="uitree_8cpp_source.html#l00038">ERROR</a>, <a class="el" href="node_8hh_source.html#l00137">isDouble()</a>, <a class="el" href="node_8hh_source.html#l00120">isInt()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p>

<p>Referenced by <a class="el" href="description_8cpp_source.html#l00247">Description::addWidget()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00277"></a>00277 {
<a name="l00278"></a>00278     <span class="keywordtype">double</span>   x;
<a name="l00279"></a>00279     <span class="keywordtype">int</span>     i;
<a name="l00280"></a>00280 
<a name="l00281"></a>00281     <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#a8c9b968ac68f6cac1c361002da8afe99">isInt</a>(t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &amp;i)) {
<a name="l00282"></a>00282         x = double(i);
<a name="l00283"></a>00283     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#aab6c20fb5dce797e97ac8ec8591258af">isDouble</a>(t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &amp;x)) {
<a name="l00284"></a>00284         <span class="comment">//nothing to do</span>
<a name="l00285"></a>00285     } <span class="keywordflow">else</span> {
<a name="l00286"></a>00286         <a class="code" href="uitree_8cpp.html#a0a92a70344a1164d38f3873d52ef2766">ERROR</a>(<span class="stringliteral">&quot;the node of the tree is not a float nor an int&quot;</span>, t);
<a name="l00287"></a>00287     }
<a name="l00288"></a>00288     <span class="keywordflow">return</span> double(x);
<a name="l00289"></a>00289 }   
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="ad01262fc04f661b162d36b786419a849"></a><!-- doxytag: member="tree.hh::tree2float" ref="ad01262fc04f661b162d36b786419a849" args="(Tree t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double tree2float </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>if t has a node of type float, return it otherwise error </p>

<p>Definition at line <a class="el" href="tree_8cpp_source.html#l00260">260</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p>

<p>References <a class="el" href="uitree_8cpp_source.html#l00038">ERROR</a>, <a class="el" href="node_8hh_source.html#l00137">isDouble()</a>, <a class="el" href="node_8hh_source.html#l00120">isInt()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p>

<p>Referenced by <a class="el" href="eval_8cpp_source.html#l00677">eval2double()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00526">ScalarCompiler::generateHSlider()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00535">ScalarCompiler::generateNumEntry()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00517">ScalarCompiler::generateVSlider()</a>, <a class="el" href="compile_8cpp_source.html#l00327">Compiler::generateWidgetCode()</a>, <a class="el" href="compile_8cpp_source.html#l00450">Compiler::generateWidgetMacro()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00275">infereSigType()</a>, and <a class="el" href="doc__compile_8cpp_source.html#l01293">DocCompiler::prepareIntervallicUI()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00261"></a>00261 {
<a name="l00262"></a>00262     <span class="keywordtype">double</span>   x;
<a name="l00263"></a>00263     <span class="keywordtype">int</span>     i;
<a name="l00264"></a>00264 
<a name="l00265"></a>00265     <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#a8c9b968ac68f6cac1c361002da8afe99">isInt</a>(t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &amp;i)) {
<a name="l00266"></a>00266         x = double(i);
<a name="l00267"></a>00267     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#aab6c20fb5dce797e97ac8ec8591258af">isDouble</a>(t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &amp;x)) {
<a name="l00268"></a>00268         <span class="comment">//nothing to do</span>
<a name="l00269"></a>00269     } <span class="keywordflow">else</span> {
<a name="l00270"></a>00270         <a class="code" href="uitree_8cpp.html#a0a92a70344a1164d38f3873d52ef2766">ERROR</a>(<span class="stringliteral">&quot;the node of the tree is not a float nor an int&quot;</span>, t);
<a name="l00271"></a>00271     }
<a name="l00272"></a>00272     <span class="keywordflow">return</span> x;
<a name="l00273"></a>00273 }   
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a523bce65e2a281fe678f2362496061cf"></a><!-- doxytag: member="tree.hh::tree2int" ref="a523bce65e2a281fe678f2362496061cf" args="(Tree t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tree2int </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>if t has a node of type int, return it otherwise error </p>

<p>Definition at line <a class="el" href="tree_8cpp_source.html#l00244">244</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p>

<p>References <a class="el" href="uitree_8cpp_source.html#l00038">ERROR</a>, <a class="el" href="node_8hh_source.html#l00137">isDouble()</a>, <a class="el" href="node_8hh_source.html#l00120">isInt()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p>

<p>Referenced by <a class="el" href="description_8cpp_source.html#l00210">Description::addGroup()</a>, <a class="el" href="recursivness_8cpp_source.html#l00081">annotate()</a>, <a class="el" href="boxcomplexity_8cpp_source.html#l00056">boxComplexity()</a>, <a class="el" href="eval_8cpp_source.html#l00706">eval2int()</a>, <a class="el" href="prim2_8cpp_source.html#l00069">ffargtype()</a>, <a class="el" href="prim2_8cpp_source.html#l00054">ffrestype()</a>, <a class="el" href="compile_8cpp_source.html#l00279">Compiler::generateUserInterfaceTree()</a>, <a class="el" href="recursivness_8cpp_source.html#l00064">getRecursivness()</a>, <a class="el" href="sigorderrules_8cpp_source.html#l00062">getSigOrder()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00630">infereFConstType()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00641">infereFVarType()</a>, and <a class="el" href="boxes_8cpp_source.html#l00454">isBoxPatternMatcher()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00245"></a>00245 {
<a name="l00246"></a>00246     <span class="keywordtype">double</span>  x;
<a name="l00247"></a>00247     <span class="keywordtype">int</span>     i;
<a name="l00248"></a>00248 
<a name="l00249"></a>00249     <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#a8c9b968ac68f6cac1c361002da8afe99">isInt</a>(t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &amp;i)) {
<a name="l00250"></a>00250         <span class="comment">// nothing to do</span>
<a name="l00251"></a>00251     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="node_8hh.html#aab6c20fb5dce797e97ac8ec8591258af">isDouble</a>(t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &amp;x)) {
<a name="l00252"></a>00252         i = int(x);
<a name="l00253"></a>00253     } <span class="keywordflow">else</span> {
<a name="l00254"></a>00254         <a class="code" href="uitree_8cpp.html#a0a92a70344a1164d38f3873d52ef2766">ERROR</a>(<span class="stringliteral">&quot;the node of the tree is not an int nor a float&quot;</span>, t);
<a name="l00255"></a>00255     }
<a name="l00256"></a>00256     <span class="keywordflow">return</span> i;
<a name="l00257"></a>00257 }   
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="ad1d692b2c0a86d485a3d096af07632e6"></a><!-- doxytag: member="tree.hh::tree2ptr" ref="ad1d692b2c0a86d485a3d096af07632e6" args="(Tree t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* tree2ptr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>if t has a node of type ptr, return it otherwise error </p>

<p>Definition at line <a class="el" href="tree_8cpp_source.html#l00302">302</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p>

<p>References <a class="el" href="uitree_8cpp_source.html#l00038">ERROR</a>, <a class="el" href="node_8hh_source.html#l00210">isPointer()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p>

<p>Referenced by <a class="el" href="colorize_8cpp_source.html#l00135">getColorProperty()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00184">getInferredType()</a>, <a class="el" href="occurences_8cpp_source.html#l00137">OccMarkup::getOcc()</a>, <a class="el" href="boxes_8cpp_source.html#l00454">isBoxPatternMatcher()</a>, <a class="el" href="sigtyperules_8cpp_source.html#l00151">isInEnv()</a>, and <a class="el" href="sigtyperules_8cpp_source.html#l00130">searchEnv()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00303"></a>00303 {
<a name="l00304"></a>00304     <span class="keywordtype">void</span>*   x;
<a name="l00305"></a>00305     <span class="keywordflow">if</span> (! <a class="code" href="node_8hh.html#ad77dd53dfdf27d36a561a7ccbcb27708">isPointer</a>(t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &amp;x)) {
<a name="l00306"></a>00306         <a class="code" href="uitree_8cpp.html#a0a92a70344a1164d38f3873d52ef2766">ERROR</a>(<span class="stringliteral">&quot;the node of the tree is not a pointer&quot;</span>, t);
<a name="l00307"></a>00307     }
<a name="l00308"></a>00308     <span class="keywordflow">return</span> x;
<a name="l00309"></a>00309 }   
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="ac753d60778175e30a86cba647db017ad"></a><!-- doxytag: member="tree.hh::tree2str" ref="ac753d60778175e30a86cba647db017ad" args="(Tree t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* tree2str </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>if t has a node of type symbol, return its name otherwise error </p>

<p>Definition at line <a class="el" href="tree_8cpp_source.html#l00292">292</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p>

<p>References <a class="el" href="uitree_8cpp_source.html#l00038">ERROR</a>, <a class="el" href="node_8hh_source.html#l00193">isSym()</a>, <a class="el" href="symbol_8hh_source.html#l00098">name()</a>, and <a class="el" href="tree_8hh_source.html#l00141">CTree::node()</a>.</p>

<p>Referenced by <a class="el" href="description_8cpp_source.html#l00210">Description::addGroup()</a>, <a class="el" href="description_8cpp_source.html#l00247">Description::addWidget()</a>, <a class="el" href="eval_8cpp_source.html#l00974">applyList()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00105">DocCompiler::compileLateq()</a>, <a class="el" href="sourcereader_8cpp_source.html#l00303">declareMetadata()</a>, <a class="el" href="sourcereader_8cpp_source.html#l00277">SourceReader::expandrec()</a>, <a class="el" href="prim2_8cpp_source.html#l00044">ffincfile()</a>, <a class="el" href="prim2_8cpp_source.html#l00049">fflibfile()</a>, <a class="el" href="prim2_8cpp_source.html#l00059">ffname()</a>, <a class="el" href="doc__compile_8cpp_source.html#l00196">DocCompiler::generateCode()</a>, <a class="el" href="compile__scal_8cpp_source.html#l00227">ScalarCompiler::generateCode()</a>, <a class="el" href="drawschema_8cpp_source.html#l00318">generateDiagramSchema()</a>, <a class="el" href="drawschema_8cpp_source.html#l00466">generateInputSlotSchema()</a>, <a class="el" href="drawschema_8cpp_source.html#l00358">generateInsideSchema()</a>, <a class="el" href="compile_8cpp_source.html#l00410">Compiler::generateMacroInterfaceTree()</a>, <a class="el" href="drawschema_8cpp_source.html#l00478">generateOutputSlotSchema()</a>, <a class="el" href="compile_8cpp_source.html#l00279">Compiler::generateUserInterfaceTree()</a>, <a class="el" href="compile_8cpp_source.html#l00327">Compiler::generateWidgetCode()</a>, <a class="el" href="compile_8cpp_source.html#l00450">Compiler::generateWidgetMacro()</a>, <a class="el" href="doc__compile_8cpp_source.html#l01235">DocCompiler::getUIDir()</a>, <a class="el" href="doc__compile_8cpp_source.html#l01319">DocCompiler::getUIDocInfos()</a>, <a class="el" href="doc_8cpp_source.html#l00963">legalFileName()</a>, <a class="el" href="main_8cpp_source.html#l00475">main()</a>, <a class="el" href="doc_8cpp_source.html#l00575">mapGetEqName()</a>, <a class="el" href="ppsig_8cpp_source.html#l00178">ppsig::print()</a>, <a class="el" href="ppbox_8cpp_source.html#l00113">boxpp::print()</a>, <a class="el" href="doc_8cpp_source.html#l00287">printdocheader()</a>, <a class="el" href="eval_8cpp_source.html#l00309">realeval()</a>, and <a class="el" href="drawschema_8cpp_source.html#l00216">writeSchemaFile()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00293"></a>00293 {
<a name="l00294"></a>00294     <a class="code" href="classSymbol.html" title="Symbols are unique objects with a name stored in a hash table.">Sym</a> s;
<a name="l00295"></a>00295     <span class="keywordflow">if</span> (!<a class="code" href="node_8hh.html#ab714e75c43d570297ff54578dc7e9ce3">isSym</a>(t-&gt;<a class="code" href="classCTree.html#a8de786fec095c8304b9ffa7c1c316237" title="return the content of the tree">node</a>(), &amp;s)) {
<a name="l00296"></a>00296         <a class="code" href="uitree_8cpp.html#a0a92a70344a1164d38f3873d52ef2766">ERROR</a>(<span class="stringliteral">&quot;the node of the tree is not a symbol&quot;</span>, t);
<a name="l00297"></a>00297     }
<a name="l00298"></a>00298     <span class="keywordflow">return</span> <a class="code" href="symbol_8hh.html#a8243134fbbd9d924ebbb3f833922e310" title="Returns the name of a symbol.">name</a>(s);
<a name="l00299"></a>00299 }   
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="ae6da444b930bc1b8eed51bd15108e5e2"></a><!-- doxytag: member="tree.hh::updateAperture" ref="ae6da444b930bc1b8eed51bd15108e5e2" args="(Tree t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void updateAperture </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCTree.html">Tree</a>&nbsp;</td>
          <td class="paramname"> <em>t</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="recursive-tree_8cpp_source.html#l00320">320</a> of file <a class="el" href="recursive-tree_8cpp_source.html">recursive-tree.cpp</a>.</p>

<p>References <a class="el" href="recursive-tree_8cpp_source.html#l00328">markOpen()</a>, and <a class="el" href="recursive-tree_8cpp_source.html#l00338">recomputeAperture()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00321"></a>00321 {
<a name="l00322"></a>00322     <a class="code" href="recursive-tree_8cpp.html#a3ab4f44f961339b489f4a6289e8c6150">markOpen</a>(t);
<a name="l00323"></a>00323     <a class="code" href="recursive-tree_8cpp.html#a9f4f307fe5880833a420d751e62779f0">recomputeAperture</a>(t, NULL);
<a name="l00324"></a>00324 }
</pre></div></p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="a31f92fc27ddbbae324cab50a245fee73"></a><!-- doxytag: member="tree.hh::TABBER" ref="a31f92fc27ddbbae324cab50a245fee73" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classTabber.html">Tabber</a> <a class="el" href="tree_8hh.html#a31f92fc27ddbbae324cab50a245fee73">TABBER</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="tree_8cpp_source.html#l00087">87</a> of file <a class="el" href="tree_8cpp_source.html">tree.cpp</a>.</p>

<p>Referenced by <a class="el" href="simplify_8cpp_source.html#l00046">traced_simplification()</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Apr 29 00:00:16 2010 for FAUST compiler by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>