<!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: CSimpleType 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>CSimpleType Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="CSimpleType" --><!-- doxytag: inherits="CDataType" --> <p>class for describing simple builtin data types <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="csimpletype_8h_source.html">csimpletype.h</a>></code></p> <div class="dynheader"> Inheritance diagram for CSimpleType:</div> <div class="dyncontent"> <div class="center"> <img src="classCSimpleType.png" usemap="#CSimpleType_map" alt=""/> <map id="CSimpleType_map" name="CSimpleType_map"> <area href="classCDataType.html" alt="CDataType" shape="rect" coords="0,56,86,80"/> <area href="classCObject.html" alt="CObject" shape="rect" coords="0,0,86,24"/> </map> </div> <p><a href="classCSimpleType-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="classCSimpleType.html#a1c60e990661df40aa5408f69dd67d57a">CSimpleType</a> (<a class="el" href="cdatatype_8h.html#adfd781749f7a9fe2df00a9bc5938efa3">VarDataType_t</a> vt)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create data type instance. <a href="#a1c60e990661df40aa5408f69dd67d57a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#a93cccff1c4da1422493a0d1c346006ad">CSimpleType</a> (<a class="el" href="cdatatype_8h.html#adfd781749f7a9fe2df00a9bc5938efa3">VarDataType_t</a> vt, list< <a class="el" href="classCNode.html">CNode</a> * > &rangeList)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create data type instance. <a href="#a93cccff1c4da1422493a0d1c346006ad"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCDataType.html">CDataType</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#ade9c543a6b0fa94d97c9a58954c7eab5">Clone</a> (<a class="el" href="classCObstack.html">CObstack</a> *heap)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new copy with a deep copy. <a href="#ade9c543a6b0fa94d97c9a58954c7eab5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#ac8b43e35bb41c156aff10141a6f27d7b">GetSignedAttr</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get declaration's signed attribute. <a href="#ac8b43e35bb41c156aff10141a6f27d7b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#a13258de60e128cc176ebac29626888b1">GetUnsignedAttr</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get declaration's unsigned attribute. <a href="#a13258de60e128cc176ebac29626888b1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#a2576807f0d81a0eef4122f74296b2a74">SetSignedAttr</a> (int v)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set declaration's signed attribute. <a href="#a2576807f0d81a0eef4122f74296b2a74"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#a5c021cbe5d33c14b24e5368cfbe3dde3">SetUnsignedAttr</a> (int v)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set declaration's unsigned attribute. <a href="#a5c021cbe5d33c14b24e5368cfbe3dde3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#a84c0423c0c5097c9670e36826c0df514">GetSigned</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get declartion's signed property. <a href="#a84c0423c0c5097c9670e36826c0df514"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#a0efeb29d6371c8ba5da2106db0d7dc77">GetTwoState</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get declaration's 2 state property. <a href="#a0efeb29d6371c8ba5da2106db0d7dc77"></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="classCSimpleType.html#a2aedc229651f502d8886e60d85f095fb">GetNodeType</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get data type. <a href="#a2aedc229651f502d8886e60d85f095fb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#aac00eb41ddb410165a6220f3ec180928">IsBaseWidthConstant</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Determine if base width (sans packed dimensions) of declaration is constant, ie dependent upon only constants and parameters. <a href="#aac00eb41ddb410165a6220f3ec180928"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#a3d2bdc7c7795aab52092ba3d7bc4e8d8">IsBaseWidthVolatile</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Determine if base width (sans packed dimensions) of declaration is volatile, ie depend upon parameters or variables. <a href="#a3d2bdc7c7795aab52092ba3d7bc4e8d8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#a6b40e48f786638995588421ebca157ce">IsBaseWidthEvaluateable</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Determine if base width (sans packed dimensions) of declaration can be evaluated. <a href="#a6b40e48f786638995588421ebca157ce"></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="classCSimpleType.html#aebfb935bc371476943959a2041eae708">GetBaseWidth</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluate base width (sans packed dimensions) of declaration. <a href="#aebfb935bc371476943959a2041eae708"></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="classCSimpleType.html#a0e2b1f61b27fff788bf7440c773c72e4">GetBaseWidthExp</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get expression for datatype's base width (sans packed dimensions). <a href="#a0e2b1f61b27fff788bf7440c773c72e4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#a675a68657bcf98e747bc68d4d7d7946b">IsVector</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Determine if complete data structure is a vector. <a href="#a675a68657bcf98e747bc68d4d7d7946b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#a70a60916d208235393b20fa16df45cce">IsPacked</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Determine if complete data structure is packed. <a href="#a70a60916d208235393b20fa16df45cce"></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="classCSimpleType.html#a67a36f98ed19afd5313c1498ea1d5698">GetPackedMsb</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get expression for declaration's msb. <a href="#a67a36f98ed19afd5313c1498ea1d5698"></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="classCSimpleType.html#abc0e4798cecbc5889095f83e3c0d75b6">GetPackedLsb</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get expression for declaration's lsb. <a href="#abc0e4798cecbc5889095f83e3c0d75b6"></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="classCSimpleType.html#ad47efebd24a3adea2350b98681660cae">GetPackedRange</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get expression for datatype's overall packed or vector range (msb/lsb). <a href="#ad47efebd24a3adea2350b98681660cae"></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="classCSimpleType.html#a6808daa0db3a131ffd24fd2d4faf86f9">GetPackedWidth</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluate packed or vector width of declaration. <a href="#a6808daa0db3a131ffd24fd2d4faf86f9"></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="classCSimpleType.html#aee2d15724fe9a1c8a900e1b4260e3018">GetPackedWidthExp</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get expression for datatype's overall packed or vetor width. <a href="#aee2d15724fe9a1c8a900e1b4260e3018"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#a92f8b946b500bfddd3debda07d814246">PackedWidthDirection</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluate current decl width direction. <a href="#a92f8b946b500bfddd3debda07d814246"></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="classCSimpleType.html#a453a9d05129278bff37907d05c590fe7">GetNumberOfPackedDimensions</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get number of packed dimensions of declaration. <a href="#a453a9d05129278bff37907d05c590fe7"></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="classCSimpleType.html#a23a46265e1664b702ec732b255d555f3">GetPackedMsi</a> (<a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> dim) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get expression tree for upper limit of given packed array dimension. <a href="#a23a46265e1664b702ec732b255d555f3"></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="classCSimpleType.html#aa68de410b6e37a9726dd623098edcca2">GetPackedLsi</a> (<a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> dim) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get expression tree for lower limit of packed array dimension. <a href="#aa68de410b6e37a9726dd623098edcca2"></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="classCSimpleType.html#aef9843286c04d3c5ccfb7df37587e194">GetPackedRange</a> (<a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> dim) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get expression for range of packed array for dimension. <a href="#aef9843286c04d3c5ccfb7df37587e194"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#a8a1f444feb242ecb87a224fd4ef3f5bd">Dump</a> (FILE *f) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Dump data type info to file descriptor. <a href="#a8a1f444feb242ecb87a224fd4ef3f5bd"></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="classCSimpleType.html#a704daad4f080d2a8f316ab3d5ea4e626">Copy</a> (<a class="el" href="classCObstack.html">CObstack</a> *heap, const <a class="el" href="classCSimpleType.html">CSimpleType</a> &o)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Perform deep copy of given object to this one This should never be call directly, only by subclasses. <a href="#a704daad4f080d2a8f316ab3d5ea4e626"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classCSimpleType.html#a38a85513953e1316a6178c44b7698611">GetVectorWidth</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get width of vector. <a href="#a38a85513953e1316a6178c44b7698611"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>class for describing simple builtin data types </p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a1c60e990661df40aa5408f69dd67d57a"></a><!-- doxytag: member="CSimpleType::CSimpleType" ref="a1c60e990661df40aa5408f69dd67d57a" args="(VarDataType_t vt)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CSimpleType::CSimpleType </td> <td>(</td> <td class="paramtype"><a class="el" href="cdatatype_8h.html#adfd781749f7a9fe2df00a9bc5938efa3">VarDataType_t</a> </td> <td class="paramname"> <em>vt</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Create data type instance. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>vt</em> </td><td>variable simple data type </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a93cccff1c4da1422493a0d1c346006ad"></a><!-- doxytag: member="CSimpleType::CSimpleType" ref="a93cccff1c4da1422493a0d1c346006ad" args="(VarDataType_t vt, list< CNode * > &rangeList)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">CSimpleType::CSimpleType </td> <td>(</td> <td class="paramtype"><a class="el" href="cdatatype_8h.html#adfd781749f7a9fe2df00a9bc5938efa3">VarDataType_t</a> </td> <td class="paramname"> <em>vt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">list< <a class="el" href="classCNode.html">CNode</a> * > & </td> <td class="paramname"> <em>rangeList</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Create data type instance. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>vt</em> </td><td>variable simple data type </td></tr> <tr><td valign="top"></td><td valign="top"><em>rangeList</em> </td><td>vector of packed ranges for declaration. </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="ade9c543a6b0fa94d97c9a58954c7eab5"></a><!-- doxytag: member="CSimpleType::Clone" ref="ade9c543a6b0fa94d97c9a58954c7eab5" args="(CObstack *heap)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCDataType.html">CDataType</a>* CSimpleType::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 new copy with a deep copy. </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> <p>Implements <a class="el" href="classCDataType.html#a7948a601d3674deeb99110cf90754591">CDataType</a>.</p> </div> </div> <a class="anchor" id="a704daad4f080d2a8f316ab3d5ea4e626"></a><!-- doxytag: member="CSimpleType::Copy" ref="a704daad4f080d2a8f316ab3d5ea4e626" args="(CObstack *heap, const CSimpleType &o)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void CSimpleType::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">const <a class="el" href="classCSimpleType.html">CSimpleType</a> & </td> <td class="paramname"> <em>o</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Perform deep copy of given object to this one This should never be call directly, only by subclasses. </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>o</em> </td><td>declaration to copy. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a8a1f444feb242ecb87a224fd4ef3f5bd"></a><!-- doxytag: member="CSimpleType::Dump" ref="a8a1f444feb242ecb87a224fd4ef3f5bd" args="(FILE *f) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CSimpleType::Dump </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"> <em>f</em></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Dump data type 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>Implements <a class="el" href="classCDataType.html#ac87a05eaba3e858db16987b7f599f345">CDataType</a>.</p> </div> </div> <a class="anchor" id="aebfb935bc371476943959a2041eae708"></a><!-- doxytag: member="CSimpleType::GetBaseWidth" ref="aebfb935bc371476943959a2041eae708" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> CSimpleType::GetBaseWidth </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Evaluate base width (sans packed dimensions) of declaration. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>packed or vector width of declaration. </dd></dl> <p>Implements <a class="el" href="classCDataType.html#a1862bc0efabf6c777c6d789c0efe4664">CDataType</a>.</p> </div> </div> <a class="anchor" id="a0e2b1f61b27fff788bf7440c773c72e4"></a><!-- doxytag: member="CSimpleType::GetBaseWidthExp" ref="a0e2b1f61b27fff788bf7440c773c72e4" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCNode.html">CNode</a>* CSimpleType::GetBaseWidthExp </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get expression for datatype's base width (sans packed dimensions). </p> <dl class="return"><dt><b>Returns:</b></dt><dd>width expression </dd></dl> <p>Implements <a class="el" href="classCDataType.html#a60c4ff7ca5f188d0fdcb1506502b1984">CDataType</a>.</p> </div> </div> <a class="anchor" id="a2aedc229651f502d8886e60d85f095fb"></a><!-- doxytag: member="CSimpleType::GetNodeType" ref="a2aedc229651f502d8886e60d85f095fb" args="(void) const " --> <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> CSimpleType::GetNodeType </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get data type. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>node type </dd></dl> <p>Implements <a class="el" href="classCDataType.html#a57461302c7fcae3f01c90b46029f27b4">CDataType</a>.</p> </div> </div> <a class="anchor" id="a453a9d05129278bff37907d05c590fe7"></a><!-- doxytag: member="CSimpleType::GetNumberOfPackedDimensions" ref="a453a9d05129278bff37907d05c590fe7" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> CSimpleType::GetNumberOfPackedDimensions </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get number of packed dimensions of declaration. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>number of dimensions, 0 if non-array. </dd></dl> <p>Reimplemented from <a class="el" href="classCDataType.html#a7622414ff23229f80fca51a9067c63fa">CDataType</a>.</p> </div> </div> <a class="anchor" id="abc0e4798cecbc5889095f83e3c0d75b6"></a><!-- doxytag: member="CSimpleType::GetPackedLsb" ref="abc0e4798cecbc5889095f83e3c0d75b6" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCNode.html">CNode</a>* CSimpleType::GetPackedLsb </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get expression for declaration's lsb. </p> <p>Valid only for Packed and Vector declarations. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>lsb expression, NULL if scalar. </dd></dl> <p>Reimplemented from <a class="el" href="classCDataType.html#a624a2f58465e80c0e77f6855901020be">CDataType</a>.</p> </div> </div> <a class="anchor" id="aa68de410b6e37a9726dd623098edcca2"></a><!-- doxytag: member="CSimpleType::GetPackedLsi" ref="aa68de410b6e37a9726dd623098edcca2" args="(INT32 dim) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCNode.html">CNode</a>* CSimpleType::GetPackedLsi </td> <td>(</td> <td class="paramtype"><a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> </td> <td class="paramname"> <em>dim</em></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get expression tree for lower limit of packed array dimension. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>dim</em> </td><td>dimension. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>expression tree for packed lower limit. </dd></dl> <p>Reimplemented from <a class="el" href="classCDataType.html#abdf6b985ea0f73622f24293ace7c3607">CDataType</a>.</p> </div> </div> <a class="anchor" id="a67a36f98ed19afd5313c1498ea1d5698"></a><!-- doxytag: member="CSimpleType::GetPackedMsb" ref="a67a36f98ed19afd5313c1498ea1d5698" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCNode.html">CNode</a>* CSimpleType::GetPackedMsb </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get expression for declaration's msb. </p> <p>Valid only for Packed and Vector declarations. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>msb expression, NULL if scalar. </dd></dl> <p>Reimplemented from <a class="el" href="classCDataType.html#a775620de875072faaeed32f192b11748">CDataType</a>.</p> </div> </div> <a class="anchor" id="a23a46265e1664b702ec732b255d555f3"></a><!-- doxytag: member="CSimpleType::GetPackedMsi" ref="a23a46265e1664b702ec732b255d555f3" args="(INT32 dim) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCNode.html">CNode</a>* CSimpleType::GetPackedMsi </td> <td>(</td> <td class="paramtype"><a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> </td> <td class="paramname"> <em>dim</em></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get expression tree for upper limit of given packed array dimension. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>dim</em> </td><td>dimension. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>expression tree for packed upper limit. </dd></dl> <p>Reimplemented from <a class="el" href="classCDataType.html#a9e58c31ec3c4e3ebf002f2c4b44a74d0">CDataType</a>.</p> </div> </div> <a class="anchor" id="ad47efebd24a3adea2350b98681660cae"></a><!-- doxytag: member="CSimpleType::GetPackedRange" ref="ad47efebd24a3adea2350b98681660cae" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCNode.html">CNode</a>* CSimpleType::GetPackedRange </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get expression for datatype's overall packed or vector range (msb/lsb). </p> <dl class="return"><dt><b>Returns:</b></dt><dd>range expression, NULL if scalar. </dd></dl> <p>Reimplemented from <a class="el" href="classCDataType.html#a2199f10cd56c978fefbd4a80290c22a8">CDataType</a>.</p> </div> </div> <a class="anchor" id="aef9843286c04d3c5ccfb7df37587e194"></a><!-- doxytag: member="CSimpleType::GetPackedRange" ref="aef9843286c04d3c5ccfb7df37587e194" args="(INT32 dim) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCNode.html">CNode</a>* CSimpleType::GetPackedRange </td> <td>(</td> <td class="paramtype"><a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> </td> <td class="paramname"> <em>dim</em></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get expression for range of packed array for dimension. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>dim</em> </td><td>dimension to get. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>range expression for limit. </dd></dl> <p>Reimplemented from <a class="el" href="classCDataType.html#a1bc2c13ea265858af2b9518493a0b50f">CDataType</a>.</p> </div> </div> <a class="anchor" id="a6808daa0db3a131ffd24fd2d4faf86f9"></a><!-- doxytag: member="CSimpleType::GetPackedWidth" ref="a6808daa0db3a131ffd24fd2d4faf86f9" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> CSimpleType::GetPackedWidth </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Evaluate packed or vector width of declaration. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>packed or vector width of declaration. </dd></dl> <p>Reimplemented from <a class="el" href="classCDataType.html#a849cc93a732b36072f58855432f0a486">CDataType</a>.</p> </div> </div> <a class="anchor" id="aee2d15724fe9a1c8a900e1b4260e3018"></a><!-- doxytag: member="CSimpleType::GetPackedWidthExp" ref="aee2d15724fe9a1c8a900e1b4260e3018" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCNode.html">CNode</a>* CSimpleType::GetPackedWidthExp </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get expression for datatype's overall packed or vetor width. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>width expression </dd></dl> <p>Reimplemented from <a class="el" href="classCDataType.html#a3148cd00d38e023b0773f103841100c4">CDataType</a>.</p> </div> </div> <a class="anchor" id="a84c0423c0c5097c9670e36826c0df514"></a><!-- doxytag: member="CSimpleType::GetSigned" ref="a84c0423c0c5097c9670e36826c0df514" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int CSimpleType::GetSigned </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get declartion's signed property. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>value of signed property. </dd></dl> <p>Implements <a class="el" href="classCDataType.html#a2a351dfb3473cce09109c4d01f792ad2">CDataType</a>.</p> </div> </div> <a class="anchor" id="ac8b43e35bb41c156aff10141a6f27d7b"></a><!-- doxytag: member="CSimpleType::GetSignedAttr" ref="ac8b43e35bb41c156aff10141a6f27d7b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int CSimpleType::GetSignedAttr </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get declaration's signed attribute. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>value of signed attribute. </dd></dl> </div> </div> <a class="anchor" id="a0efeb29d6371c8ba5da2106db0d7dc77"></a><!-- doxytag: member="CSimpleType::GetTwoState" ref="a0efeb29d6371c8ba5da2106db0d7dc77" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int CSimpleType::GetTwoState </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get declaration's 2 state property. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>value of 2 state property. </dd></dl> <p>Implements <a class="el" href="classCDataType.html#a76cb34f7850f8e5755ebd9355c18be3d">CDataType</a>.</p> </div> </div> <a class="anchor" id="a13258de60e128cc176ebac29626888b1"></a><!-- doxytag: member="CSimpleType::GetUnsignedAttr" ref="a13258de60e128cc176ebac29626888b1" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int CSimpleType::GetUnsignedAttr </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get declaration's unsigned attribute. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>value of unsigned attribute. </dd></dl> </div> </div> <a class="anchor" id="a38a85513953e1316a6178c44b7698611"></a><!-- doxytag: member="CSimpleType::GetVectorWidth" ref="a38a85513953e1316a6178c44b7698611" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int CSimpleType::GetVectorWidth </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get width of vector. </p> <p>Only valid for vector types </p> <dl class="return"><dt><b>Returns:</b></dt><dd>width of vector in bits. </dd></dl> </div> </div> <a class="anchor" id="aac00eb41ddb410165a6220f3ec180928"></a><!-- doxytag: member="CSimpleType::IsBaseWidthConstant" ref="aac00eb41ddb410165a6220f3ec180928" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int CSimpleType::IsBaseWidthConstant </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Determine if base width (sans packed dimensions) of declaration is constant, ie dependent upon only constants and parameters. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>non-zero if vector or packed width of declaration is constant. </dd></dl> <p>Implements <a class="el" href="classCDataType.html#aefd07b178e91517f770ab1b17415c4f9">CDataType</a>.</p> </div> </div> <a class="anchor" id="a6b40e48f786638995588421ebca157ce"></a><!-- doxytag: member="CSimpleType::IsBaseWidthEvaluateable" ref="a6b40e48f786638995588421ebca157ce" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int CSimpleType::IsBaseWidthEvaluateable </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Determine if base width (sans packed dimensions) of declaration can be evaluated. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>non-zero of packed or vector width of declaration can be evaluated. </dd></dl> <p>Implements <a class="el" href="classCDataType.html#ae2d5bb2774882cd7c54bc2aecf1dda27">CDataType</a>.</p> </div> </div> <a class="anchor" id="a3d2bdc7c7795aab52092ba3d7bc4e8d8"></a><!-- doxytag: member="CSimpleType::IsBaseWidthVolatile" ref="a3d2bdc7c7795aab52092ba3d7bc4e8d8" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int CSimpleType::IsBaseWidthVolatile </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Determine if base width (sans packed dimensions) of declaration is volatile, ie depend upon parameters or variables. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>non-zero of vector or packed width of declaration is volatile. </dd></dl> <p>Implements <a class="el" href="classCDataType.html#a9e35d055ee454f93fd7d6a656adfa0c3">CDataType</a>.</p> </div> </div> <a class="anchor" id="a70a60916d208235393b20fa16df45cce"></a><!-- doxytag: member="CSimpleType::IsPacked" ref="a70a60916d208235393b20fa16df45cce" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int CSimpleType::IsPacked </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Determine if complete data structure is packed. </p> <p>Packed data structures can be treated as a single vector. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>non-zero if complete data structure is packed. </dd></dl> <p>Implements <a class="el" href="classCDataType.html#a1f33f248b84008d6bfabb22c0edc9d51">CDataType</a>.</p> </div> </div> <a class="anchor" id="a675a68657bcf98e747bc68d4d7d7946b"></a><!-- doxytag: member="CSimpleType::IsVector" ref="a675a68657bcf98e747bc68d4d7d7946b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int CSimpleType::IsVector </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Determine if complete data structure is a vector. </p> <p>Vectors are a multi-bit intergal type. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>non-zero if complete data structure is a vector. </dd></dl> <p>Implements <a class="el" href="classCDataType.html#a88613fc39d24537ca1b9aa3d8810ec06">CDataType</a>.</p> </div> </div> <a class="anchor" id="a92f8b946b500bfddd3debda07d814246"></a><!-- doxytag: member="CSimpleType::PackedWidthDirection" ref="a92f8b946b500bfddd3debda07d814246" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int CSimpleType::PackedWidthDirection </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Evaluate current decl width direction. </p> <p>Expression must be constant. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>1 - big endian, -1 - little endian, 0 - cannot be determined </dd></dl> <p>Reimplemented from <a class="el" href="classCDataType.html#ad76bef34f1228366dd0baafd0c47fc10">CDataType</a>.</p> </div> </div> <a class="anchor" id="a2576807f0d81a0eef4122f74296b2a74"></a><!-- doxytag: member="CSimpleType::SetSignedAttr" ref="a2576807f0d81a0eef4122f74296b2a74" args="(int v)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CSimpleType::SetSignedAttr </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>v</em></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set declaration's signed attribute. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>v</em> </td><td>value of signed attribute. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a5c021cbe5d33c14b24e5368cfbe3dde3"></a><!-- doxytag: member="CSimpleType::SetUnsignedAttr" ref="a5c021cbe5d33c14b24e5368cfbe3dde3" args="(int v)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void CSimpleType::SetUnsignedAttr </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>v</em></td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set declaration's unsigned attribute. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>v</em> </td><td>value of unsigned attribute. </td></tr> </table> </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="csimpletype_8h_source.html">csimpletype.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>