<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>vrq: CGenvar Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr> <td width="180"><a href="index.html"><img src="vrq.png" width="150" height="100" border="0" alt="vrq"></a></td> <td background="top_bg.png" align="right" width="100%"> <img src="glyth.png" width="500" height="100" border="0" alt=""> </td> </tr> <tr> <td background="#FFFFFF" align="right" width="50" height="4"></td> </tr> </table> </head><body> <!-- Generated by Doxygen 1.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> </div> <div class="headertitle"> <h1>CGenvar Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="CGenvar" --><!-- doxytag: inherits="CDecl" --> <p>Declaration object for genvars. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="cgenvar_8h_source.html">cgenvar.h</a>></code></p> <div class="dynheader"> Inheritance diagram for CGenvar:</div> <div class="dyncontent"> <div class="center"> <img src="classCGenvar.png" usemap="#CGenvar_map" alt=""/> <map id="CGenvar_map" name="CGenvar_map"> <area href="classCDecl.html" alt="CDecl" shape="rect" coords="0,56,63,80"/> <area href="classCObject.html" alt="CObject" shape="rect" coords="0,0,63,24"/> </map> </div> <p><a href="classCGenvar-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCGenvar.html#ad8a10edc35b91bdd6f137507e0b5338b">CGenvar</a> (<a class="el" href="classCSymbol.html">CSymbol</a> *symbol, <a class="el" href="structCoord__t.html">Coord_t</a> *aLoc)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a genvar declaration. <a href="#ad8a10edc35b91bdd6f137507e0b5338b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCDecl.html">CDecl</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCGenvar.html#a76b0d570fa200fbb452b87574ddc7458">Clone</a> (<a class="el" href="classCObstack.html">CObstack</a> *heap)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a clone of this declaration. <a href="#a76b0d570fa200fbb452b87574ddc7458"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="cdatatype_8h.html#aff499c00c9873bf3fcf1c46bf2652790">NodeType_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCGenvar.html#a1cc2272f9daf45b317f6194df0db8cdd">GetNodeType</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get node type of declaration. <a href="#a1cc2272f9daf45b317f6194df0db8cdd"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCGenvar.html#ae3b5b8c5627c2509f5699f73eed28a15">GetWidth</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get width of declaration. <a href="#ae3b5b8c5627c2509f5699f73eed28a15"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCGenvar.html#ab2592358ada9ac001180e62d3fce2c80">IsWidthEvaluateable</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Determine if width is evaluateable. <a href="#ab2592358ada9ac001180e62d3fce2c80"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCGenvar.html#a8f7575d0f0f9fefbe2fdeae1dc150b97">IsWidthConstant</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Determine if packed width of declaration is constant, ie dependent upon only constants and parameters. <a href="#a8f7575d0f0f9fefbe2fdeae1dc150b97"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCGenvar.html#aeedcaf55be2c7d700e50088ff2705679">IsWidthVolatile</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Determine if packed width of declaration is volatile, ie depend upon parameters or variables. <a href="#aeedcaf55be2c7d700e50088ff2705679"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCNode.html">CNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCGenvar.html#a7625c70d60e369a1755d082b18eebc1a">GetWidthExp</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get expression representing genvar width. <a href="#a7625c70d60e369a1755d082b18eebc1a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCGenvar.html#a3ba98480e274e265b7f33f4b57982d7c">Dump</a> (FILE *f)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Dump genvar info to file descriptor. <a href="#a3ba98480e274e265b7f33f4b57982d7c"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCGenvar.html#a4149302d8d69a21058b47425a6abf352">Copy</a> (<a class="el" href="classCObstack.html">CObstack</a> *heap, <a class="el" href="classCGenvar.html">CGenvar</a> &d)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Deep copy of declaration. <a href="#a4149302d8d69a21058b47425a6abf352"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Declaration object for genvars. </p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="ad8a10edc35b91bdd6f137507e0b5338b"></a><!-- doxytag: member="CGenvar::CGenvar" ref="ad8a10edc35b91bdd6f137507e0b5338b" args="(CSymbol *symbol, Coord_t *aLoc)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CGenvar::CGenvar </td> <td>(</td> <td class="paramtype"><a class="el" href="classCSymbol.html">CSymbol</a> * </td> <td class="paramname"> <em>symbol</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structCoord__t.html">Coord_t</a> * </td> <td class="paramname"> <em>aLoc</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Create a genvar declaration. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>symbol</em> </td><td>name of declaration. </td></tr> <tr><td valign="top"></td><td valign="top"><em>aLoc</em> </td><td>file coordinates of declaration. </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a76b0d570fa200fbb452b87574ddc7458"></a><!-- doxytag: member="CGenvar::Clone" ref="a76b0d570fa200fbb452b87574ddc7458" args="(CObstack *heap)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCDecl.html">CDecl</a>* CGenvar::Clone </td> <td>(</td> <td class="paramtype"><a class="el" href="classCObstack.html">CObstack</a> * </td> <td class="paramname"> <em>heap</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Create a clone of this declaration. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>heap</em> </td><td>heap to use for allocation. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>new declaration. </dd></dl> <p>Implements <a class="el" href="classCDecl.html#a3d992b7f070ff86395c5eda30e0c4043">CDecl</a>.</p> </div> </div> <a class="anchor" id="a4149302d8d69a21058b47425a6abf352"></a><!-- doxytag: member="CGenvar::Copy" ref="a4149302d8d69a21058b47425a6abf352" args="(CObstack *heap, CGenvar &d)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CGenvar::Copy </td> <td>(</td> <td class="paramtype"><a class="el" href="classCObstack.html">CObstack</a> * </td> <td class="paramname"> <em>heap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCGenvar.html">CGenvar</a> & </td> <td class="paramname"> <em>d</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Deep copy of declaration. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>heap</em> </td><td>heap to use for allocation. </td></tr> <tr><td valign="top"></td><td valign="top"><em>d</em> </td><td>declaration to copy. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a3ba98480e274e265b7f33f4b57982d7c"></a><!-- doxytag: member="CGenvar::Dump" ref="a3ba98480e274e265b7f33f4b57982d7c" args="(FILE *f)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CGenvar::Dump </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"> <em>f</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Dump genvar info to file descriptor. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>f</em> </td><td>file descriptor. </td></tr> </table> </dd> </dl> <p>Reimplemented from <a class="el" href="classCDecl.html#abf20508e80db983fc69f3bf5e3901af4">CDecl</a>.</p> </div> </div> <a class="anchor" id="a1cc2272f9daf45b317f6194df0db8cdd"></a><!-- doxytag: member="CGenvar::GetNodeType" ref="a1cc2272f9daf45b317f6194df0db8cdd" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="cdatatype_8h.html#aff499c00c9873bf3fcf1c46bf2652790">NodeType_t</a> CGenvar::GetNodeType </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get node type of declaration. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>node type, always signed vector. </dd></dl> <p>Reimplemented from <a class="el" href="classCDecl.html#a14c62498f0b8917e2ca16c14d1b53c09">CDecl</a>.</p> </div> </div> <a class="anchor" id="ae3b5b8c5627c2509f5699f73eed28a15"></a><!-- doxytag: member="CGenvar::GetWidth" ref="ae3b5b8c5627c2509f5699f73eed28a15" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> CGenvar::GetWidth </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get width of declaration. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>node width, always 32. </dd></dl> </div> </div> <a class="anchor" id="a7625c70d60e369a1755d082b18eebc1a"></a><!-- doxytag: member="CGenvar::GetWidthExp" ref="a7625c70d60e369a1755d082b18eebc1a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCNode.html">CNode</a>* CGenvar::GetWidthExp </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get expression representing genvar width. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>width expression. </dd></dl> <p>Reimplemented from <a class="el" href="classCDecl.html#a99e6e51ecbf5d5ce506fce1dcaa96ff9">CDecl</a>.</p> </div> </div> <a class="anchor" id="a8f7575d0f0f9fefbe2fdeae1dc150b97"></a><!-- doxytag: member="CGenvar::IsWidthConstant" ref="a8f7575d0f0f9fefbe2fdeae1dc150b97" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int CGenvar::IsWidthConstant </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Determine if packed width of declaration is constant, ie dependent upon only constants and parameters. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>non-zero of packed width of declaration is constant. </dd></dl> </div> </div> <a class="anchor" id="ab2592358ada9ac001180e62d3fce2c80"></a><!-- doxytag: member="CGenvar::IsWidthEvaluateable" ref="ab2592358ada9ac001180e62d3fce2c80" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int CGenvar::IsWidthEvaluateable </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Determine if width is evaluateable. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>always return TRUE. </dd></dl> <p>Reimplemented from <a class="el" href="classCDecl.html#abe656bdbf4d9588ba62d44ea1ba74c41">CDecl</a>.</p> </div> </div> <a class="anchor" id="aeedcaf55be2c7d700e50088ff2705679"></a><!-- doxytag: member="CGenvar::IsWidthVolatile" ref="aeedcaf55be2c7d700e50088ff2705679" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int CGenvar::IsWidthVolatile </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Determine if packed width of declaration is volatile, ie depend upon parameters or variables. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>non-zero of packed width of declaration is volatile. </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>/net/fileserver/nas/home/mdh/vrq/src/<a class="el" href="cgenvar_8h_source.html">cgenvar.h</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> </body> </html>