Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > f149f58f4a75af135bdb24f5dfe94165 > files > 598

libdap-doc-3.9.3-3mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>libdap++: libdap::ConstraintEvaluator 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.5.9 -->
<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="namespaces.html"><span>Namespaces</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="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</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="namespacelibdap.html">libdap</a>::<a class="el" href="classlibdap_1_1ConstraintEvaluator.html">ConstraintEvaluator</a>
  </div>
</div>
<div class="contents">
<h1>libdap::ConstraintEvaluator Class Reference</h1><!-- doxytag: class="libdap::ConstraintEvaluator" -->Evaluate a constraint expression.  

<p>
<code>#include &lt;<a class="el" href="ConstraintEvaluator_8h_source.html">ConstraintEvaluator.h</a>&gt;</code>
<p>
<div class="dynheader">
Collaboration diagram for libdap::ConstraintEvaluator:</div>
<div class="dynsection">
<p><center><img src="classlibdap_1_1ConstraintEvaluator__coll__graph.png" border="0" usemap="#libdap_1_1ConstraintEvaluator__coll__map" alt="Collaboration graph"></center>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classlibdap_1_1ConstraintEvaluator-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>function</b></td></tr>

<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="structlibdap_1_1Clause.html">Clause</a> * &gt;<br class="typebreak">
::const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#bffbe592e2282493954bdfe3ceac7445">Clause_citer</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="structlibdap_1_1Clause.html">Clause</a> * &gt;<br class="typebreak">
::iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#369a03eac7969bb6955cfc90ababb8aa">Clause_iter</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> * &gt;<br class="typebreak">
::const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#9702bcb82a4a27c93665490d651cf816">Constants_citer</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> * &gt;<br class="typebreak">
::iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#1c38b776ba27bc78a1e484a45bbe8747">Constants_iter</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::list&lt; function &gt;<br class="typebreak">
::const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#fabff19845fae4d5ccfcc492b33c79c2">Functions_citer</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::list&lt; function &gt;<br class="typebreak">
::iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#e80dcd9458c825dd656d223e34d8b3b2">Functions_iter</a></td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#f4769219d99fe7ec3f4f4d7b1cd560dc">append_clause</a> (btp_func func, <a class="el" href="namespacelibdap.html#443d3b7d9ceaa4ec25e5bfcc555ce056">rvalue_list</a> *args)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a clause to a constraint expression.  <a href="#f4769219d99fe7ec3f4f4d7b1cd560dc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#2439b21977caf80d57c5faa0342dfcb4">append_clause</a> (bool_func func, <a class="el" href="namespacelibdap.html#443d3b7d9ceaa4ec25e5bfcc555ce056">rvalue_list</a> *args)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a clause to a constraint expression.  <a href="#2439b21977caf80d57c5faa0342dfcb4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#796b573bb1ec8bbce8c22c4caf58af2e">append_clause</a> (int op, <a class="el" href="classlibdap_1_1rvalue.html">rvalue</a> *arg1, <a class="el" href="namespacelibdap.html#443d3b7d9ceaa4ec25e5bfcc555ce056">rvalue_list</a> *arg2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a clause to a constraint expression.  <a href="#796b573bb1ec8bbce8c22c4caf58af2e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#bf7511f38a4c5f8fc0cde0eca91ef338">append_constant</a> (<a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *btp)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#155da913af4458d96fa60ecd0ecbe377">boolean_expression</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does the current constraint expression return a boolean value?  <a href="#155da913af4458d96fa60ecd0ecbe377"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#369a03eac7969bb6955cfc90ababb8aa">Clause_iter</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#81135cc86f8bef397b59577dfa224f62">clause_begin</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#369a03eac7969bb6955cfc90ababb8aa">Clause_iter</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#d193b3ca4cef59d2b46c04ab08f4675f">clause_end</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#5c53cfac881da05b7ed6eb6404b0c4f9">clause_value</a> (<a class="el" href="classlibdap_1_1ConstraintEvaluator.html#369a03eac7969bb6955cfc90ababb8aa">Clause_iter</a> &amp;i, <a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#61250e6c1cec9b2411a529c7fb4efd94">ConstraintEvaluator</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#3d433bb6769cc95fb299249b5e5d74c4">eval_function</a> (<a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds, const string &amp;dataset)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluate a function-valued constraint expression.  <a href="#3d433bb6769cc95fb299249b5e5d74c4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#a0066a57cf00c975f6ccbc2e90c64742">eval_selection</a> (<a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds, const string &amp;dataset)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluate a boolean-valued constraint expression. This is main method for the evaluator ans is called by the <a class="el" href="classlibdap_1_1BaseType.html#1f45893684a69b50b37817b88230de9f" title="Move data to the net.">BaseType::serialize()</a> methods.  <a href="#a0066a57cf00c975f6ccbc2e90c64742"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#dd46ce1d9ef36fa26a2913d8d7c51096">functional_expression</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does the current constraint expression return a <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> pointer?  <a href="#dd46ce1d9ef36fa26a2913d8d7c51096"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#aeb4a7662178b992d9e36ff1dc0fc2bc">parse_constraint</a> (const string &amp;constraint, <a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;dds)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse the constraint expression given the current <a class="el" href="classlibdap_1_1DDS.html">DDS</a>.  <a href="#aeb4a7662178b992d9e36ff1dc0fc2bc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#e46662e1cbe013a6f6ad65d2e0c24186">~ConstraintEvaluator</a> ()</td></tr>

<tr><td colspan="2"><div class="groupHeader">External Function Accessors</div></td></tr>
<tr><td colspan="2"><div class="groupText">The Constraint Evaluator carries with it a list of external functions it can use while evaluate a constraint expression. If a constraint contains any of these functions, the entries in the list allow the parser to evaluate it. The functions are of three types: those that return boolean values, those that return real (also called <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a>) values, and those that are applied during evaluation of the project for side effect<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The <a class="el" href="classlibdap_1_1ConstraintEvaluator.html#c42a51af20507806f1e04e24ed9cb0ac" title="Add a boolean function to the list.">add_function()</a> methods will replace a function of the same name, so it is possible to overwrite functions in specific handlers if the handler need special behavior to implement one of the standard functions.</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd>ce_functions for the standard functions</dd></dl>
These methods are used to manipulate this list of known external functions. <br><br></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#029d3512841dcdb09b46024ff40e8e4e">add_function</a> (const string &amp;name, proj_func f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a projection function to the list.  <a href="#029d3512841dcdb09b46024ff40e8e4e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#eabb00757399afe777712b43dfdefd27">add_function</a> (const string &amp;name, btp_func f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> function to the list.  <a href="#eabb00757399afe777712b43dfdefd27"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#c42a51af20507806f1e04e24ed9cb0ac">add_function</a> (const string &amp;name, bool_func f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a boolean function to the list.  <a href="#c42a51af20507806f1e04e24ed9cb0ac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#1f59dced0a1aa7d31f5c46169188a8c3">find_function</a> (const string &amp;name, proj_func *f) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find a projection function with a given name in the function list.  <a href="#1f59dced0a1aa7d31f5c46169188a8c3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#065950f0bc91ea2ae3ed06f6cd23e1f9">find_function</a> (const string &amp;name, btp_func *f) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find a <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> function with a given name in the function list.  <a href="#065950f0bc91ea2ae3ed06f6cd23e1f9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#c8da439f904b56b42bab23e6d6483a5d">find_function</a> (const string &amp;name, bool_func *f) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find a Boolean function with a given name in the function list.  <a href="#c8da439f904b56b42bab23e6d6483a5d"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#bdcdfafb252f26c4af32af89b0f699dc">func_name_is</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8h_source.html#l00038">38</a> of file <a class="el" href="ConstraintEvaluator_8h_source.html">ConstraintEvaluator.h</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="bffbe592e2282493954bdfe3ceac7445"></a><!-- doxytag: member="libdap::ConstraintEvaluator::Clause_citer" ref="bffbe592e2282493954bdfe3ceac7445" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="structlibdap_1_1Clause.html">Clause</a> *&gt;::const_iterator <a class="el" href="classlibdap_1_1ConstraintEvaluator.html#bffbe592e2282493954bdfe3ceac7445">libdap::ConstraintEvaluator::Clause_citer</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8h_source.html#l00082">82</a> of file <a class="el" href="ConstraintEvaluator_8h_source.html">ConstraintEvaluator.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="369a03eac7969bb6955cfc90ababb8aa"></a><!-- doxytag: member="libdap::ConstraintEvaluator::Clause_iter" ref="369a03eac7969bb6955cfc90ababb8aa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="structlibdap_1_1Clause.html">Clause</a> *&gt;::iterator <a class="el" href="classlibdap_1_1ConstraintEvaluator.html#369a03eac7969bb6955cfc90ababb8aa">libdap::ConstraintEvaluator::Clause_iter</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8h_source.html#l00083">83</a> of file <a class="el" href="ConstraintEvaluator_8h_source.html">ConstraintEvaluator.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="9702bcb82a4a27c93665490d651cf816"></a><!-- doxytag: member="libdap::ConstraintEvaluator::Constants_citer" ref="9702bcb82a4a27c93665490d651cf816" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *&gt;::const_iterator <a class="el" href="classlibdap_1_1ConstraintEvaluator.html#9702bcb82a4a27c93665490d651cf816">libdap::ConstraintEvaluator::Constants_citer</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8h_source.html#l00085">85</a> of file <a class="el" href="ConstraintEvaluator_8h_source.html">ConstraintEvaluator.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="1c38b776ba27bc78a1e484a45bbe8747"></a><!-- doxytag: member="libdap::ConstraintEvaluator::Constants_iter" ref="1c38b776ba27bc78a1e484a45bbe8747" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *&gt;::iterator <a class="el" href="classlibdap_1_1ConstraintEvaluator.html#1c38b776ba27bc78a1e484a45bbe8747">libdap::ConstraintEvaluator::Constants_iter</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8h_source.html#l00086">86</a> of file <a class="el" href="ConstraintEvaluator_8h_source.html">ConstraintEvaluator.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="fabff19845fae4d5ccfcc492b33c79c2"></a><!-- doxytag: member="libdap::ConstraintEvaluator::Functions_citer" ref="fabff19845fae4d5ccfcc492b33c79c2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;function&gt;::const_iterator <a class="el" href="classlibdap_1_1ConstraintEvaluator.html#fabff19845fae4d5ccfcc492b33c79c2">libdap::ConstraintEvaluator::Functions_citer</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8h_source.html#l00088">88</a> of file <a class="el" href="ConstraintEvaluator_8h_source.html">ConstraintEvaluator.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e80dcd9458c825dd656d223e34d8b3b2"></a><!-- doxytag: member="libdap::ConstraintEvaluator::Functions_iter" ref="e80dcd9458c825dd656d223e34d8b3b2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;function&gt;::iterator <a class="el" href="classlibdap_1_1ConstraintEvaluator.html#e80dcd9458c825dd656d223e34d8b3b2">libdap::ConstraintEvaluator::Functions_iter</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8h_source.html#l00089">89</a> of file <a class="el" href="ConstraintEvaluator_8h_source.html">ConstraintEvaluator.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="61250e6c1cec9b2411a529c7fb4efd94"></a><!-- doxytag: member="libdap::ConstraintEvaluator::ConstraintEvaluator" ref="61250e6c1cec9b2411a529c7fb4efd94" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">libdap::ConstraintEvaluator::ConstraintEvaluator           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00049">49</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

<p>References <a class="el" href="ce__functions_8cc_source.html#l01016">libdap::register_functions()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classlibdap_1_1ConstraintEvaluator_61250e6c1cec9b2411a529c7fb4efd94_cgraph.png" border="0" usemap="#classlibdap_1_1ConstraintEvaluator_61250e6c1cec9b2411a529c7fb4efd94_cgraph_map" alt=""></center>
<map name="classlibdap_1_1ConstraintEvaluator_61250e6c1cec9b2411a529c7fb4efd94_cgraph_map">
<area shape="rect" id="node3" href="namespacelibdap.html#5eeabecdc04289ca1ed78d333f29129d" title="libdap::register_functions" alt="" coords="556,492,836,519"><area shape="rect" id="node5" href="classlibdap_1_1ConstraintEvaluator.html#c42a51af20507806f1e04e24ed9cb0ac" title="Add a boolean function to the list." alt="" coords="885,365,1317,392"><area shape="rect" id="node7" href="namespacelibdap.html#74b751c296e50dff34a98294d4e28f8d" title="libdap::function_geoarray" alt="" coords="965,467,1237,493"><area shape="rect" id="node71" href="namespacelibdap.html#97ebb2cf77302bf3dda2934593964ec4" title="libdap::function_geogrid" alt="" coords="971,872,1232,899"><area shape="rect" id="node109" href="namespacelibdap.html#d495b5febe1ea2b30f9fce7e31e98c9e" title="libdap::function_grid" alt="" coords="1520,771,1752,797"><area shape="rect" id="node121" href="namespacelibdap.html#cb70f051b4691bdf6d1333a2a7a442f0" title="libdap::function_linear_scale" alt="" coords="1480,264,1792,291"><area shape="rect" id="node149" href="namespacelibdap.html#69a45fe57f5b17b8ab202f454b2f7556" title="libdap::function_version" alt="" coords="971,517,1232,544"><area shape="rect" id="node9" href="classlibdap_1_1ArrayGeoConstraint.html#c9b54a84ae4d34ffbc2e64bfec262e49" title="libdap::ArrayGeoConstraint::apply_constraint_to_data" alt="" coords="1365,1505,1907,1532"><area shape="rect" id="node57" href="namespacelibdap.html#3c8b08223f4ea1841cf82dfc743a0d3a" title="libdap::extract_double_value" alt="" coords="2065,568,2367,595"><area shape="rect" id="node60" href="namespacelibdap.html#ca7eee077ab6dadb25126a92cf82737a" title="libdap::extract_string_argument" alt="" coords="1471,315,1801,341"><area shape="rect" id="node63" href="classlibdap_1_1ArrayGeoConstraint.html#131feb056afa9f04c953ba41b62a7bdb" title="libdap::ArrayGeoConstraint::get_constrained_array" alt="" coords="1380,416,1892,443"><area shape="rect" id="node65" href="classlibdap_1_1BaseType.html#0b130311c9901fb8a7ab11ea19090ef0" title="libdap::BaseType::ptr_duplicate" alt="" coords="1471,619,1801,645"><area shape="rect" id="node67" href="classlibdap_1_1GeoConstraint.html#a7240e600b6607f587b2447c316e2f42" title="libdap::GeoConstraint::set_bounding_box" alt="" coords="1431,568,1841,595"><area shape="rect" id="node69" href="classlibdap_1_1Str.html#c4083a612e46a9ef2d1cddc2d40a955f" title="libdap::Str::set_value" alt="" coords="2096,669,2336,696"><area shape="rect" id="node11" href="classlibdap_1_1Array.html#538f7c336e26b873f50e033d553bba26" title="Adds a constraint to an Array dimension." alt="" coords="2620,1379,2932,1405"><area shape="rect" id="node13" href="classlibdap_1_1GeoConstraint.html#05febc86a7353548656d76cbe659d4ed" title="libdap::GeoConstraint::get_array_data" alt="" coords="2020,1581,2412,1608"><area shape="rect" id="node15" href="classlibdap_1_1GeoConstraint.html#93b13c51f03265b77c26c639253eb84c" title="libdap::GeoConstraint::get_array_data_size" alt="" coords="1996,1632,2436,1659"><area shape="rect" id="node17" href="classlibdap_1_1GeoConstraint.html#3eb15912166e6777c3bba8078c144ff9" title="libdap::GeoConstraint::get_bounding_box_set" alt="" coords="1991,1683,2441,1709"><area shape="rect" id="node19" href="classlibdap_1_1GeoConstraint.html#19dbb0b321d3e195a39dc086cacdfc53" title="libdap::GeoConstraint::get_lat_dim" alt="" coords="2036,1733,2396,1760"><area shape="rect" id="node21" href="classlibdap_1_1GeoConstraint.html#3f924c14bc89937c3db0b141f873b238" title="libdap::GeoConstraint::get_latitude_index_bottom" alt="" coords="1965,1784,2467,1811"><area shape="rect" id="node23" href="classlibdap_1_1GeoConstraint.html#e0593d431954560825dcd96ded2141a7" title="libdap::GeoConstraint::get_latitude_index_top" alt="" coords="1980,1835,2452,1861"><area shape="rect" id="node25" href="classlibdap_1_1GeoConstraint.html#c2f5c3f3e098c91f23e194fe7b775af8" title="libdap::GeoConstraint::get_latitude_sense" alt="" coords="2000,1885,2432,1912"><area shape="rect" id="node27" href="classlibdap_1_1GeoConstraint.html#5eee5cc9788b429e77bfde9f10bfe751" title="libdap::GeoConstraint::get_lon_dim" alt="" coords="2036,1531,2396,1557"><area shape="rect" id="node29" href="classlibdap_1_1GeoConstraint.html#505eb309753eabe0c6a5bb3d412a3579" title="libdap::GeoConstraint::get_lon_length" alt="" coords="2580,1429,2972,1456"><area shape="rect" id="node31" href="classlibdap_1_1GeoConstraint.html#8550d6aea8efad6f197b3350c19a25dc" title="libdap::GeoConstraint::get_longitude_index_left" alt="" coords="2531,1480,3021,1507"><area shape="rect" id="node33" href="classlibdap_1_1GeoConstraint.html#8f7a2a062f1fa421de74bd41339c9e1b" title="libdap::GeoConstraint::get_longitude_index_right" alt="" coords="2525,1328,3027,1355"><area shape="rect" id="node35" href="classlibdap_1_1BaseType.html#1da003c53f2e663223f603ab3fbd7c8e" title="Read data into a local buffer." alt="" coords="2656,1049,2896,1076"><area shape="rect" id="node37" href="classlibdap_1_1GeoConstraint.html#c7008d3cbd75838d30c7b5c8b5fe9baa" title="libdap::GeoConstraint::reorder_data_longitude_axis" alt="" coords="1956,1328,2476,1355"><area shape="rect" id="node46" href="classlibdap_1_1Vector.html#58712de8871e28a48fdc95e72a09df71" title="Indicates that the data is ready to send." alt="" coords="2636,1164,2916,1191"><area shape="rect" id="node48" href="classlibdap_1_1GeoConstraint.html#f69dd8771a629e0b6da655e0c31b3dd6" title="libdap::GeoConstraint::set_latitude_index_bottom" alt="" coords="1965,1987,2467,2013"><area shape="rect" id="node50" href="classlibdap_1_1GeoConstraint.html#58cf100c6ac40095273520035ff3f2ee" title="libdap::GeoConstraint::set_latitude_index_top" alt="" coords="1980,1936,2452,1963"><area shape="rect" id="node53" href="classlibdap_1_1Vector.html#96ecf84f2798065878755d9a9014ee69" title="Reads data into the Vector buffer. Thrown if called for Structure, Sequence or Grid..." alt="" coords="2091,1075,2341,1101"><area shape="rect" id="node43" href="classlibdap_1_1Vector.html#5990bd42b49e44c7b7da76e039896ba3" title="libdap::Vector::length" alt="" coords="2656,745,2896,772"><area shape="rect" id="node55" href="classlibdap_1_1BaseType.html#bc6b2d7099f00bb5f324ec129bff2a17" title="Returns the type of the class instance." alt="" coords="2656,365,2896,392"><area shape="rect" id="node73" href="classlibdap_1_1GridGeoConstraint.html#ffdc6145014a519bef4874d14716b3cf" title="libdap::GridGeoConstraint::apply_constraint_to_data" alt="" coords="1371,1784,1901,1811"><area shape="rect" id="node76" href="classlibdap_1_1Grid.html#905ac86a44a9d8ce576056ba244cf558" title="Returns the Grid Array. This method returns the array using an Array*, so no cast..." alt="" coords="2091,2139,2341,2165"><area shape="rect" id="node96" href="classlibdap_1_1GridGeoConstraint.html#712d428422dd23582291ba1ad13137dd" title="libdap::GridGeoConstraint::get_constrained_grid" alt="" coords="1391,1556,1881,1583"><area shape="rect" id="node98" href="structlibdap_1_1gse__arg.html#63b69a5efec365819548d800d29b7a2a" title="libdap::gse_arg::get_gsec" alt="" coords="2080,821,2352,848"><area shape="rect" id="node100" href="classlibdap_1_1Grid.html#2e9d2e436c0ff138a977dbba54c018eb" title="Returns an iterator referencing the first Map vector." alt="" coords="2091,872,2341,899"><area shape="rect" id="node102" href="classlibdap_1_1Grid.html#aebbf2a5329ec01b6527b4bafde87837" title="libdap::Grid::map_end" alt="" coords="2100,923,2332,949"><area shape="rect" id="node115" href="classlibdap_1_1Grid.html#0c4a5aefa252d3eab94b8a0ce5232dc6" title="libdap::Grid::ptr_duplicate" alt="" coords="2071,720,2361,747"><area shape="rect" id="node118" href="classlibdap_1_1Vector.html#64815467570490a4a6cddc89f09a2413" title="Indicates that the data is ready to send." alt="" coords="2076,619,2356,645"><area shape="rect" id="node123" href="classlibdap_1_1Array.html#c9a68fa480403f9b80285073c653570c" title="Add the BaseType pointer to this constructor type instance." alt="" coords="2096,213,2336,240"><area shape="rect" id="node126" href="namespacelibdap.html#7e55035aed27d6e56f7219405c803628" title="libdap::double_eq" alt="" coords="2120,61,2312,88"><area shape="rect" id="node128" href="namespacelibdap.html#e9717ce6442b4909dcd7add356a7ff88" title="libdap::extract_double_array" alt="" coords="2065,112,2367,139"><area shape="rect" id="node130" href="classlibdap_1_1BaseType.html#0a0c6b5d57813607dc06255b8e0b9bdc" title="Returns the name of the class instance." alt="" coords="2656,61,2896,88"><area shape="rect" id="node134" href="classlibdap_1_1BaseType.html#eabb771d731dbcef92fff731fb429f85" title="libdap::BaseType::get_parent" alt="" coords="2065,264,2367,291"><area shape="rect" id="node140" href="classlibdap_1_1Vector.html#c6ffab2a00584c2963c0d521ad4028b5" title="set the value of a byte array" alt="" coords="2080,467,2352,493"><area shape="rect" id="node146" href="classlibdap_1_1BaseType.html#c360679317a411d7812ca235a1528281" title="Loads class data." alt="" coords="2080,315,2352,341"></map>
</div>

</div>
</div><p>
<a class="anchor" name="e46662e1cbe013a6f6ad65d2e0c24186"></a><!-- doxytag: member="libdap::ConstraintEvaluator::~ConstraintEvaluator" ref="e46662e1cbe013a6f6ad65d2e0c24186" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">libdap::ConstraintEvaluator::~ConstraintEvaluator           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00054">54</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="029d3512841dcdb09b46024ff40e8e4e"></a><!-- doxytag: member="libdap::ConstraintEvaluator::add_function" ref="029d3512841dcdb09b46024ff40e8e4e" args="(const string &amp;name, proj_func f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::ConstraintEvaluator::add_function           </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">proj_func&nbsp;</td>
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00216">216</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

<p>References <a class="el" href="ConstraintEvaluator_8h_source.html#l00079">func_name_is</a>.</p>

</div>
</div><p>
<a class="anchor" name="eabb00757399afe777712b43dfdefd27"></a><!-- doxytag: member="libdap::ConstraintEvaluator::add_function" ref="eabb00757399afe777712b43dfdefd27" args="(const string &amp;name, btp_func f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::ConstraintEvaluator::add_function           </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">btp_func&nbsp;</td>
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00207">207</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

<p>References <a class="el" href="ConstraintEvaluator_8h_source.html#l00079">func_name_is</a>.</p>

</div>
</div><p>
<a class="anchor" name="c42a51af20507806f1e04e24ed9cb0ac"></a><!-- doxytag: member="libdap::ConstraintEvaluator::add_function" ref="c42a51af20507806f1e04e24ed9cb0ac" args="(const string &amp;name, bool_func f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::ConstraintEvaluator::add_function           </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool_func&nbsp;</td>
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00198">198</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

<p>References <a class="el" href="ConstraintEvaluator_8h_source.html#l00079">func_name_is</a>.</p>

<p>Referenced by <a class="el" href="ce__functions_8cc_source.html#l01016">libdap::register_functions()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f4769219d99fe7ec3f4f4d7b1cd560dc"></a><!-- doxytag: member="libdap::ConstraintEvaluator::append_clause" ref="f4769219d99fe7ec3f4f4d7b1cd560dc" args="(btp_func func, rvalue_list *args)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::ConstraintEvaluator::append_clause           </td>
          <td>(</td>
          <td class="paramtype">btp_func&nbsp;</td>
          <td class="paramname"> <em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacelibdap.html#443d3b7d9ceaa4ec25e5bfcc555ce056">rvalue_list</a> *&nbsp;</td>
          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This function adds a real-valued (<a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a>) function clause to the constraint expression.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>A pointer to a <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> function from the list of supported functions. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>A list of arguments to that function. </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00142">142</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="2439b21977caf80d57c5faa0342dfcb4"></a><!-- doxytag: member="libdap::ConstraintEvaluator::append_clause" ref="2439b21977caf80d57c5faa0342dfcb4" args="(bool_func func, rvalue_list *args)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::ConstraintEvaluator::append_clause           </td>
          <td>(</td>
          <td class="paramtype">bool_func&nbsp;</td>
          <td class="paramname"> <em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacelibdap.html#443d3b7d9ceaa4ec25e5bfcc555ce056">rvalue_list</a> *&nbsp;</td>
          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This function adds a boolean function clause to the constraint expression.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>A pointer to a boolean function from the list of supported functions. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>A list of arguments to that function. </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00125">125</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="796b573bb1ec8bbce8c22c4caf58af2e"></a><!-- doxytag: member="libdap::ConstraintEvaluator::append_clause" ref="796b573bb1ec8bbce8c22c4caf58af2e" args="(int op, rvalue *arg1, rvalue_list *arg2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::ConstraintEvaluator::append_clause           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1rvalue.html">rvalue</a> *&nbsp;</td>
          <td class="paramname"> <em>arg1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacelibdap.html#443d3b7d9ceaa4ec25e5bfcc555ce056">rvalue_list</a> *&nbsp;</td>
          <td class="paramname"> <em>arg2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This function adds an operator clause to the constraint expression.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>op</em>&nbsp;</td><td>An integer indicating the operator in use. These values are generated by <code>bison</code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>arg1</em>&nbsp;</td><td>A pointer to the argument on the left side of the operator. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>arg2</em>&nbsp;</td><td>A pointer to a list of the arguments on the right side of the operator. </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00108">108</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="bf7511f38a4c5f8fc0cde0eca91ef338"></a><!-- doxytag: member="libdap::ConstraintEvaluator::append_constant" ref="bf7511f38a4c5f8fc0cde0eca91ef338" args="(BaseType *btp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::ConstraintEvaluator::append_constant           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> *&nbsp;</td>
          <td class="paramname"> <em>btp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The <a class="el" href="classlibdap_1_1DDS.html">DDS</a> maintains a list of <a class="el" href="classlibdap_1_1BaseType.html" title="The basic data type for the DODS DAP types.">BaseType</a> pointers for all the constants that the constraint expression parser generates. These objects are deleted by the <a class="el" href="classlibdap_1_1DDS.html">DDS</a> destructor. Note that there are no list accessors; these constants are never accessed from the list. The list is simply a convenient way to make sure the constants are disposed of properly.<p>
<dl class="todo" compact><dt><b><a class="el" href="todo.html#_todo000010">Todo:</a></b></dt><dd>Update this comment (<a class="el" href="classlibdap_1_1ConstraintEvaluator.html" title="Evaluate a constraint expression.">ConstraintEvaluator</a>, not <a class="el" href="classlibdap_1_1DDS.html">DDS</a>. </dd></dl>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00157">157</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="155da913af4458d96fa60ecd0ecbe377"></a><!-- doxytag: member="libdap::ConstraintEvaluator::boolean_expression" ref="155da913af4458d96fa60ecd0ecbe377" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::ConstraintEvaluator::boolean_expression           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00301">301</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="81135cc86f8bef397b59577dfa224f62"></a><!-- doxytag: member="libdap::ConstraintEvaluator::clause_begin" ref="81135cc86f8bef397b59577dfa224f62" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#369a03eac7969bb6955cfc90ababb8aa">ConstraintEvaluator::Clause_iter</a> libdap::ConstraintEvaluator::clause_begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the first clause in a parsed constraint expression. 
<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00070">70</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="d193b3ca4cef59d2b46c04ab08f4675f"></a><!-- doxytag: member="libdap::ConstraintEvaluator::clause_end" ref="d193b3ca4cef59d2b46c04ab08f4675f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#369a03eac7969bb6955cfc90ababb8aa">ConstraintEvaluator::Clause_iter</a> libdap::ConstraintEvaluator::clause_end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a reference to the end of the list of clauses in a parsed constraint expression. It does not reference the last clause 
<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00078">78</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="5c53cfac881da05b7ed6eb6404b0c4f9"></a><!-- doxytag: member="libdap::ConstraintEvaluator::clause_value" ref="5c53cfac881da05b7ed6eb6404b0c4f9" args="(Clause_iter &amp;i, DDS &amp;dds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::ConstraintEvaluator::clause_value           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1ConstraintEvaluator.html#369a03eac7969bb6955cfc90ababb8aa">Clause_iter</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>iter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>dds</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the value of the indicated clause of a constraint expression. 
<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00086">86</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="3d433bb6769cc95fb299249b5e5d74c4"></a><!-- doxytag: member="libdap::ConstraintEvaluator::eval_function" ref="3d433bb6769cc95fb299249b5e5d74c4" args="(DDS &amp;dds, const string &amp;dataset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlibdap_1_1BaseType.html">BaseType</a> * libdap::ConstraintEvaluator::eval_function           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>dataset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00285">285</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

<p>References <a class="el" href="Clause_8cc_source.html#l00185">libdap::Clause::value()</a>.</p>

<p>Referenced by <a class="el" href="DODSFilter_8cc_source.html#l01003">libdap::DODSFilter::send_data()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classlibdap_1_1ConstraintEvaluator_3d433bb6769cc95fb299249b5e5d74c4_cgraph.png" border="0" usemap="#classlibdap_1_1ConstraintEvaluator_3d433bb6769cc95fb299249b5e5d74c4_cgraph_map" alt=""></center>
<map name="classlibdap_1_1ConstraintEvaluator_3d433bb6769cc95fb299249b5e5d74c4_cgraph_map">
<area shape="rect" id="node3" href="structlibdap_1_1Clause.html#bfff44c4db49ad7462d14665b2458588" title="Evaluate a clause which returns a boolean value This method must only be evaluated..." alt="" coords="496,81,728,108"><area shape="rect" id="node5" href="namespacelibdap.html#928b16257bc714971a2a3c91cb42d882" title="libdap::build_btp_args" alt="" coords="1068,31,1308,57"><area shape="rect" id="node13" href="classlibdap_1_1rvalue.html#5ec1d2d66b162aa9ad82b658e70ce7de" title="libdap::rvalue::bvalue" alt="" coords="777,56,1017,83"><area shape="rect" id="node16" href="structlibdap_1_1Clause.html#eaccc72688521a8b08aeae970d983473" title="Checks the &quot;representation invariant&quot; of a clause." alt="" coords="797,107,997,133"><area shape="rect" id="node18" href="classlibdap_1_1BaseType.html#8a0000be2a244e3e07abda3020af8800" title="Evaluate relational operators." alt="" coords="781,157,1013,184"><area shape="rect" id="node7" href="namespacelibdap.html#317edea830aab50d2137a5bd313cc86a" title="libdap::long_to_string" alt="" coords="1359,5,1599,32"><area shape="rect" id="node11" href="namespacelibdap.html#d29f8fc547919875e3369fefbf92fb15" title="sanitize the size of an array. Test for integer overflow when dynamically allocating..." alt="" coords="1393,56,1564,83"><area shape="rect" id="node9" href="namespacelibdap.html#576580781bca7dcd4b5a84cc06892aff" title="libdap::append_long_to_string" alt="" coords="1648,5,1960,32"></map>
</div>

</div>
</div><p>
<a class="anchor" name="a0066a57cf00c975f6ccbc2e90c64742"></a><!-- doxytag: member="libdap::ConstraintEvaluator::eval_selection" ref="a0066a57cf00c975f6ccbc2e90c64742" args="(DDS &amp;dds, const string &amp;dataset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::ConstraintEvaluator::eval_selection           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>dds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>dataset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dds</em>&nbsp;</td><td>Use these variables when evaluating the expressions. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dataset</em>&nbsp;</td><td>This string is passed to the read() methods. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the expression is true, false otherwise. </dd></dl>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00323">323</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

<p>References <a class="el" href="debug_8h_source.html#l00058">DBG</a>.</p>

<p>Referenced by <a class="el" href="Sequence_8cc_source.html#l00592">libdap::Sequence::read_row()</a>, <a class="el" href="Vector_8cc_source.html#l00509">libdap::Vector::serialize()</a>, <a class="el" href="UInt32_8cc_source.html#l00108">libdap::UInt32::serialize()</a>, <a class="el" href="UInt16_8cc_source.html#l00107">libdap::UInt16::serialize()</a>, <a class="el" href="Structure_8cc_source.html#l00287">libdap::Structure::serialize()</a>, <a class="el" href="Str_8cc_source.html#l00118">libdap::Str::serialize()</a>, <a class="el" href="Int32_8cc_source.html#l00116">libdap::Int32::serialize()</a>, <a class="el" href="Int16_8cc_source.html#l00105">libdap::Int16::serialize()</a>, <a class="el" href="Grid_8cc_source.html#l00226">libdap::Grid::serialize()</a>, <a class="el" href="Float64_8cc_source.html#l00114">libdap::Float64::serialize()</a>, <a class="el" href="Float32_8cc_source.html#l00112">libdap::Float32::serialize()</a>, and <a class="el" href="Byte_8cc_source.html#l00120">libdap::Byte::serialize()</a>.</p>

</div>
</div><p>
<a class="anchor" name="1f59dced0a1aa7d31f5c46169188a8c3"></a><!-- doxytag: member="libdap::ConstraintEvaluator::find_function" ref="1f59dced0a1aa7d31f5c46169188a8c3" args="(const string &amp;name, proj_func *f) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::ConstraintEvaluator::find_function           </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">proj_func *&nbsp;</td>
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00257">257</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="065950f0bc91ea2ae3ed06f6cd23e1f9"></a><!-- doxytag: member="libdap::ConstraintEvaluator::find_function" ref="065950f0bc91ea2ae3ed06f6cd23e1f9" args="(const string &amp;name, btp_func *f) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::ConstraintEvaluator::find_function           </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">btp_func *&nbsp;</td>
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00241">241</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="c8da439f904b56b42bab23e6d6483a5d"></a><!-- doxytag: member="libdap::ConstraintEvaluator::find_function" ref="c8da439f904b56b42bab23e6d6483a5d" args="(const string &amp;name, bool_func *f) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::ConstraintEvaluator::find_function           </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool_func *&nbsp;</td>
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00225">225</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="dd46ce1d9ef36fa26a2913d8d7c51096"></a><!-- doxytag: member="libdap::ConstraintEvaluator::functional_expression" ref="dd46ce1d9ef36fa26a2913d8d7c51096" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool libdap::ConstraintEvaluator::functional_expression           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00274">274</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

<p>References <a class="el" href="Clause_8cc_source.html#l00139">libdap::Clause::value_clause()</a>.</p>

<p>Referenced by <a class="el" href="DODSFilter_8cc_source.html#l01003">libdap::DODSFilter::send_data()</a>, <a class="el" href="DODSFilter_8cc_source.html#l00799">libdap::DODSFilter::send_dds()</a>, and <a class="el" href="DODSFilter_8cc_source.html#l01186">libdap::DODSFilter::send_ddx()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classlibdap_1_1ConstraintEvaluator_dd46ce1d9ef36fa26a2913d8d7c51096_cgraph.png" border="0" usemap="#classlibdap_1_1ConstraintEvaluator_dd46ce1d9ef36fa26a2913d8d7c51096_cgraph_map" alt=""></center>
<map name="classlibdap_1_1ConstraintEvaluator_dd46ce1d9ef36fa26a2913d8d7c51096_cgraph_map">
<area shape="rect" id="node3" href="structlibdap_1_1Clause.html#7bd5122be1851f0bf32ec1c58b46eaa9" title="Return true if the clause returns a value in a BaseType pointer." alt="" coords="576,5,877,32"><area shape="rect" id="node5" href="structlibdap_1_1Clause.html#eaccc72688521a8b08aeae970d983473" title="Checks the &quot;representation invariant&quot; of a clause." alt="" coords="927,5,1127,32"></map>
</div>

</div>
</div><p>
<a class="anchor" name="aeb4a7662178b992d9e36ff1dc0fc2bc"></a><!-- doxytag: member="libdap::ConstraintEvaluator::parse_constraint" ref="aeb4a7662178b992d9e36ff1dc0fc2bc" args="(const string &amp;constraint, DDS &amp;dds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void libdap::ConstraintEvaluator::parse_constraint           </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>constraint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classlibdap_1_1DDS.html">DDS</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>dds</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Evaluate the constraint expression; return the value of the expression. As a side effect, mark the <a class="el" href="classlibdap_1_1DDS.html">DDS</a> so that BaseType's mfuncs can be used to correctly read the variable's value and send it to the client.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>constraint</em>&nbsp;</td><td>A string containing the constraint expression. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dds</em>&nbsp;</td><td>The <a class="el" href="classlibdap_1_1DDS.html">DDS</a> that provides the environment within which the constraint is evaluated. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Throws</em>&nbsp;</td><td><a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> if the constraint does not parse. </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8cc_source.html#l00359">359</a> of file <a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a>.</p>

<p>References <a class="el" href="ConstraintEvaluator_8cc.html#829e836debe59adfa593dc370b8cb2d0">ce_expr_delete_buffer()</a>, <a class="el" href="ConstraintEvaluator_8cc.html#7a3a151376fbd8a427288eab509bfd06">ce_expr_string()</a>, <a class="el" href="ConstraintEvaluator_8cc.html#955ba7cba10608969e986cd241a15155">ce_expr_switch_to_buffer()</a>, and <a class="el" href="ConstraintEvaluator_8cc.html#ba9ee772d54adb658f5dd2e1b71d3c2b">ce_exprparse()</a>.</p>

<p>Referenced by <a class="el" href="DODSFilter_8cc_source.html#l01003">libdap::DODSFilter::send_data()</a>, <a class="el" href="DODSFilter_8cc_source.html#l00799">libdap::DODSFilter::send_dds()</a>, and <a class="el" href="DODSFilter_8cc_source.html#l01186">libdap::DODSFilter::send_ddx()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classlibdap_1_1ConstraintEvaluator_aeb4a7662178b992d9e36ff1dc0fc2bc_cgraph.png" border="0" usemap="#classlibdap_1_1ConstraintEvaluator_aeb4a7662178b992d9e36ff1dc0fc2bc_cgraph_map" alt=""></center>
<map name="classlibdap_1_1ConstraintEvaluator_aeb4a7662178b992d9e36ff1dc0fc2bc_cgraph_map">
<area shape="rect" id="node3" href="ConstraintEvaluator_8cc.html#829e836debe59adfa593dc370b8cb2d0" title="ce_expr_delete_buffer" alt="" coords="540,5,772,32"><area shape="rect" id="node5" href="ConstraintEvaluator_8cc.html#7a3a151376fbd8a427288eab509bfd06" title="ce_expr_string" alt="" coords="576,56,736,83"><area shape="rect" id="node7" href="ConstraintEvaluator_8cc.html#955ba7cba10608969e986cd241a15155" title="ce_expr_switch_to_buffer" alt="" coords="525,107,787,133"><area shape="rect" id="node9" href="ConstraintEvaluator_8cc.html#ba9ee772d54adb658f5dd2e1b71d3c2b" title="ce_exprparse" alt="" coords="585,157,727,184"></map>
</div>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="bdcdfafb252f26c4af32af89b0f699dc"></a><!-- doxytag: member="libdap::ConstraintEvaluator::func_name_is" ref="bdcdfafb252f26c4af32af89b0f699dc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class func_name_is<code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="ConstraintEvaluator_8h_source.html#l00079">79</a> of file <a class="el" href="ConstraintEvaluator_8h_source.html">ConstraintEvaluator.h</a>.</p>

<p>Referenced by <a class="el" href="ConstraintEvaluator_8cc_source.html#l00198">add_function()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="ConstraintEvaluator_8h_source.html">ConstraintEvaluator.h</a><li><a class="el" href="ConstraintEvaluator_8cc_source.html">ConstraintEvaluator.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Oct 7 19:59:10 2009 for libdap++ by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>