Sophie

Sophie

distrib > * > cooker > x86_64 > by-pkgid > 6821ecc3db154939da2f564d5e6d1885 > files > 103

ppl-docs-0.11.2-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>PPL: Parma_Polyhedra_Library::Variable Class 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="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceParma__Polyhedra__Library.html">Parma_Polyhedra_Library</a>::<a class="el" href="classParma__Polyhedra__Library_1_1Variable.html">Variable</a>
  </div>
</div>
<div class="contents">
<h1>Parma_Polyhedra_Library::Variable Class Reference<br/>
<small>
[<a class="el" href="group__PPL__CXX__interface.html">C++ Language Interface</a>]</small>
</h1><!-- doxytag: class="Parma_Polyhedra_Library::Variable" -->
<p>A dimension of the vector space.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;ppl.hh&gt;</code></p>

<p><a href="classParma__Polyhedra__Library_1_1Variable-members.html">List of all members.</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">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structParma__Polyhedra__Library_1_1Variable_1_1Compare.html">Compare</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Binary predicate defining the total ordering on variables.  <a href="structParma__Polyhedra__Library_1_1Variable_1_1Compare.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab80d28775828a4ee502fab82ba1a278c"></a><!-- doxytag: member="Parma_Polyhedra_Library::Variable::output_function_type" ref="ab80d28775828a4ee502fab82ba1a278c" args="(std::ostream &amp;s, const Variable &amp;v)" -->
typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#ab80d28775828a4ee502fab82ba1a278c">output_function_type</a> (std::ostream &amp;s, const <a class="el" href="classParma__Polyhedra__Library_1_1Variable.html">Variable</a> &amp;v)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of output functions. <br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#a8dfe38ded52523b20209cce599411c4c">Variable</a> (<a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a> i)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds the variable corresponding to the Cartesian axis of index <code>i</code>.  <a href="#a8dfe38ded52523b20209cce599411c4c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb6a26c12f7bdee7504d577ca81992e0"></a><!-- doxytag: member="Parma_Polyhedra_Library::Variable::id" ref="abb6a26c12f7bdee7504d577ca81992e0" args="() const " -->
<a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#abb6a26c12f7bdee7504d577ca81992e0">id</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the index of the Cartesian axis associated to the variable. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#a44e2225e59844067e005297572cd9ca5">space_dimension</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the dimension of the vector space enclosing <code>*this</code>.  <a href="#a44e2225e59844067e005297572cd9ca5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7102c6fe85d4c8e6939d29a047becbdb"></a><!-- doxytag: member="Parma_Polyhedra_Library::Variable::total_memory_in_bytes" ref="a7102c6fe85d4c8e6939d29a047becbdb" args="() const " -->
<a class="el" href="group__PPL__CXX__interface.html#ga760aa1f95d13e389ec6eb33fdbf88783">memory_size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#a7102c6fe85d4c8e6939d29a047becbdb">total_memory_in_bytes</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the total size in bytes of the memory occupied by <code>*this</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49b4a338d3d82bfb7a404ea87481fc4d"></a><!-- doxytag: member="Parma_Polyhedra_Library::Variable::external_memory_in_bytes" ref="a49b4a338d3d82bfb7a404ea87481fc4d" args="() const " -->
<a class="el" href="group__PPL__CXX__interface.html#ga760aa1f95d13e389ec6eb33fdbf88783">memory_size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#a49b4a338d3d82bfb7a404ea87481fc4d">external_memory_in_bytes</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the size in bytes of the memory managed by <code>*this</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed0f237309569c2bfbf9e6f60740974e"></a><!-- doxytag: member="Parma_Polyhedra_Library::Variable::OK" ref="aed0f237309569c2bfbf9e6f60740974e" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#aed0f237309569c2bfbf9e6f60740974e">OK</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if all the invariants are satisfied. <br/></td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5f2c0410e128e2f082d761ef36820da"></a><!-- doxytag: member="Parma_Polyhedra_Library::Variable::max_space_dimension" ref="aa5f2c0410e128e2f082d761ef36820da" args="()" -->
static <a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#aa5f2c0410e128e2f082d761ef36820da">max_space_dimension</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the maximum space dimension a <a class="el" href="classParma__Polyhedra__Library_1_1Variable.html" title="A dimension of the vector space.">Variable</a> can handle. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5012c55d8fdb1420b80a3bfbe5a5b843"></a><!-- doxytag: member="Parma_Polyhedra_Library::Variable::set_output_function" ref="a5012c55d8fdb1420b80a3bfbe5a5b843" args="(output_function_type *p)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#a5012c55d8fdb1420b80a3bfbe5a5b843">set_output_function</a> (<a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#ab80d28775828a4ee502fab82ba1a278c">output_function_type</a> *p)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the output function to be used for printing <a class="el" href="classParma__Polyhedra__Library_1_1Variable.html" title="A dimension of the vector space.">Variable</a> objects. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75683687bda865c93db529b76271bed2"></a><!-- doxytag: member="Parma_Polyhedra_Library::Variable::get_output_function" ref="a75683687bda865c93db529b76271bed2" args="()" -->
static <a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#ab80d28775828a4ee502fab82ba1a278c">output_function_type</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#a75683687bda865c93db529b76271bed2">get_output_function</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the pointer to the current output function. <br/></td></tr>
<tr><td colspan="2"><h2>Related Functions</h2></td></tr>
<tr><td colspan="2"><p>(Note that these are not member functions.) </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#a56a9fd5bee6f87ae9079aed0bc3de31a">operator&lt;&lt;</a> (std::ostream &amp;s, const <a class="el" href="classParma__Polyhedra__Library_1_1Variable.html">Variable</a> &amp;v)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Output operator.  <a href="#a56a9fd5bee6f87ae9079aed0bc3de31a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#ad71d7986fdfd19215fc87726ebacf555">less</a> (<a class="el" href="classParma__Polyhedra__Library_1_1Variable.html">Variable</a> v, <a class="el" href="classParma__Polyhedra__Library_1_1Variable.html">Variable</a> w)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines a total ordering on variables.  <a href="#ad71d7986fdfd19215fc87726ebacf555"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A dimension of the vector space. </p>
<p>An object of the class <a class="el" href="classParma__Polyhedra__Library_1_1Variable.html" title="A dimension of the vector space.">Variable</a> represents a dimension of the space, that is one of the Cartesian axes. Variables are used as basic blocks in order to build more complex linear expressions. Each variable is identified by a non-negative integer, representing the index of the corresponding Cartesian axis (the first axis has index 0). The space dimension of a variable is the dimension of the vector space made by all the Cartesian axes having an index less than or equal to that of the considered variable; thus, if a variable has index <img class="formulaInl" alt="$i$" src="form_158.png"/>, its space dimension is <img class="formulaInl" alt="$i+1$" src="form_483.png"/>.</p>
<p>Note that the ``meaning'' of an object of the class <a class="el" href="classParma__Polyhedra__Library_1_1Variable.html" title="A dimension of the vector space.">Variable</a> is completely specified by the integer index provided to its constructor: be careful not to be mislead by C++ language variable names. For instance, in the following example the linear expressions <code>e1</code> and <code>e2</code> are equivalent, since the two variables <code>x</code> and <code>z</code> denote the same Cartesian axis. </p>
<div class="fragment"><pre class="fragment">  <a class="code" href="classParma__Polyhedra__Library_1_1Variable.html#a8dfe38ded52523b20209cce599411c4c" title="Builds the variable corresponding to the Cartesian axis of index i.">Variable</a> x(0);
  <a class="code" href="classParma__Polyhedra__Library_1_1Variable.html#a8dfe38ded52523b20209cce599411c4c" title="Builds the variable corresponding to the Cartesian axis of index i.">Variable</a> y(1);
  <a class="code" href="classParma__Polyhedra__Library_1_1Variable.html#a8dfe38ded52523b20209cce599411c4c" title="Builds the variable corresponding to the Cartesian axis of index i.">Variable</a> z(0);
  Linear_Expression e1 = x + y;
  Linear_Expression e2 = y + z;
</pre></div> <hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8dfe38ded52523b20209cce599411c4c"></a><!-- doxytag: member="Parma_Polyhedra_Library::Variable::Variable" ref="a8dfe38ded52523b20209cce599411c4c" args="(dimension_type i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Parma_Polyhedra_Library::Variable::Variable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a>&nbsp;</td>
          <td class="paramname"> <em>i</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds the variable corresponding to the Cartesian axis of index <code>i</code>. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>std::length_error</em>&nbsp;</td><td>Thrown if <code>i+1</code> exceeds <code><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#aa5f2c0410e128e2f082d761ef36820da" title="Returns the maximum space dimension a Variable can handle.">Variable::max_space_dimension()</a></code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a44e2225e59844067e005297572cd9ca5"></a><!-- doxytag: member="Parma_Polyhedra_Library::Variable::space_dimension" ref="a44e2225e59844067e005297572cd9ca5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a> Parma_Polyhedra_Library::Variable::space_dimension </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the dimension of the vector space enclosing <code>*this</code>. </p>
<p>The returned value is <code><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html#abb6a26c12f7bdee7504d577ca81992e0" title="Returns the index of the Cartesian axis associated to the variable.">id()</a>+1</code>. </p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a56a9fd5bee6f87ae9079aed0bc3de31a"></a><!-- doxytag: member="Parma_Polyhedra_Library::Variable::operator&lt;&lt;" ref="a56a9fd5bee6f87ae9079aed0bc3de31a" args="(std::ostream &amp;s, const Variable &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream &amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::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="classParma__Polyhedra__Library_1_1Variable.html">Variable</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Output operator. </p>

</div>
</div>
<a class="anchor" id="ad71d7986fdfd19215fc87726ebacf555"></a><!-- doxytag: member="Parma_Polyhedra_Library::Variable::less" ref="ad71d7986fdfd19215fc87726ebacf555" args="(Variable v, Variable w)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool less </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html">Variable</a>&nbsp;</td>
          <td class="paramname"> <em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html">Variable</a>&nbsp;</td>
          <td class="paramname"> <em>w</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Defines a total ordering on variables. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>ppl.hh</li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Feb 27 10:10:57 2011 for PPL 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>