<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>CVC3: expr.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">CVC3 </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.2 --> <div id="navrow1" 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><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">expr.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Definition of the API to expression package. See class Expr for details. <a href="#details">More...</a></p> <div class="textblock"><code>#include <stdlib.h></code><br/> <code>#include <sstream></code><br/> <code>#include <set></code><br/> <code>#include <functional></code><br/> <code>#include <iterator></code><br/> <code>#include <map></code><br/> <code>#include "<a class="el" href="os_8h_source.html">os.h</a>"</code><br/> <code>#include "<a class="el" href="compat__hash__map_8h_source.html">compat_hash_map.h</a>"</code><br/> <code>#include "<a class="el" href="compat__hash__set_8h_source.html">compat_hash_set.h</a>"</code><br/> <code>#include "<a class="el" href="rational_8h_source.html">rational.h</a>"</code><br/> <code>#include "<a class="el" href="kinds_8h_source.html">kinds.h</a>"</code><br/> <code>#include "<a class="el" href="cdo_8h_source.html">cdo.h</a>"</code><br/> <code>#include "<a class="el" href="cdflags_8h_source.html">cdflags.h</a>"</code><br/> <code>#include "<a class="el" href="lang_8h_source.html">lang.h</a>"</code><br/> <code>#include "<a class="el" href="memory__manager_8h_source.html">memory_manager.h</a>"</code><br/> </div><div class="textblock"><div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dyncontent"> <div class="center"><img src="expr_8h__dep__incl.gif" border="0" usemap="#expr_8hdep" alt=""/></div> <map name="expr_8hdep" id="expr_8hdep"> </map> </div> </div> <p><a href="expr_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classExprHashMap.html">ExprHashMap< Data ></a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1Expr.html">CVC3::Expr</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Data structure of expressions in <a class="el" href="namespaceCVC3.html">CVC3</a>. <a href="classCVC3_1_1Expr.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1Expr_1_1iterator.html">CVC3::Expr::iterator</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classCVC3_1_1Expr_1_1iterator_1_1Proxy.html">CVC3::Expr::iterator::Proxy</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Postfix increment requires a <a class="el" href="classCVC3_1_1Expr_1_1iterator_1_1Proxy.html" title="Postfix increment requires a Proxy object to hold the intermediate value for dereferencing.">Proxy</a> object to hold the intermediate value for dereferencing. <a href="classCVC3_1_1Expr_1_1iterator_1_1Proxy.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a> Namespaces</h2></td></tr> <tr class="memitem:namespaceCVC3"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCVC3.html">CVC3</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:a4233916514848331ee104548acbab912"><td class="memItemLeft" align="right" valign="top">typedef long unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCVC3.html#a4233916514848331ee104548acbab912">CVC3::ExprIndex</a></td></tr> <tr class="memdesc:a4233916514848331ee104548acbab912"><td class="mdescLeft"> </td><td class="mdescRight">Expression index type. <a href="#a4233916514848331ee104548acbab912"></a><br/></td></tr> <tr class="separator:a4233916514848331ee104548acbab912"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:a492cd44a88003acd985d3c05cbd36ea8"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCVC3.html#a492cd44a88003acd985d3c05cbd36ea8">CVC3::ExprValueType</a> { <br/>   <a class="el" href="namespaceCVC3.html#a492cd44a88003acd985d3c05cbd36ea8a45728d440ceb44bdb47f21351a153e88">CVC3::EXPR_VALUE</a>, <a class="el" href="namespaceCVC3.html#a492cd44a88003acd985d3c05cbd36ea8a3893ed6eebbc5daca30a7aac2282fe6f">CVC3::EXPR_NODE</a>, <a class="el" href="namespaceCVC3.html#a492cd44a88003acd985d3c05cbd36ea8ac0f64afa0582818fffa2cc5403db8a0e">CVC3::EXPR_APPLY</a>, <a class="el" href="namespaceCVC3.html#a492cd44a88003acd985d3c05cbd36ea8aaabca50d22455e77c3f61e8d5307989b">CVC3::EXPR_STRING</a>, <br/>   <a class="el" href="namespaceCVC3.html#a492cd44a88003acd985d3c05cbd36ea8a424556ebe7d7485cbd13e5c1e5228811">CVC3::EXPR_RATIONAL</a>, <a class="el" href="namespaceCVC3.html#a492cd44a88003acd985d3c05cbd36ea8a4e7d647c7c01957f00b94b5a2c86e0a7">CVC3::EXPR_SKOLEM</a>, <a class="el" href="namespaceCVC3.html#a492cd44a88003acd985d3c05cbd36ea8a82b57cae98f27f2d8f414efe70d1a1b1">CVC3::EXPR_UCONST</a>, <a class="el" href="namespaceCVC3.html#a492cd44a88003acd985d3c05cbd36ea8a54fe96ba026d0bef6191b315f7190262">CVC3::EXPR_SYMBOL</a>, <br/>   <a class="el" href="namespaceCVC3.html#a492cd44a88003acd985d3c05cbd36ea8a58a9f13ea5962be2ef65dc0693743d81">CVC3::EXPR_BOUND_VAR</a>, <a class="el" href="namespaceCVC3.html#a492cd44a88003acd985d3c05cbd36ea8a93c8095a1c01d7a11081e615b94a3b2b">CVC3::EXPR_CLOSURE</a>, <a class="el" href="namespaceCVC3.html#a492cd44a88003acd985d3c05cbd36ea8a0ead87cd0a551c50f3b0e42cbe72f8b3">CVC3::EXPR_VALUE_TYPE_LAST</a> <br/> }</td></tr> <tr class="memdesc:a492cd44a88003acd985d3c05cbd36ea8"><td class="mdescLeft"> </td><td class="mdescRight">Type ID of each ExprValue subclass. <a href="namespaceCVC3.html#a492cd44a88003acd985d3c05cbd36ea8">More...</a><br/></td></tr> <tr class="separator:a492cd44a88003acd985d3c05cbd36ea8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af969e724f8b7016909f5804e8cea3e54"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCVC3.html#af969e724f8b7016909f5804e8cea3e54">CVC3::Cardinality</a> { <a class="el" href="namespaceCVC3.html#af969e724f8b7016909f5804e8cea3e54ac1ba3119b0fd85d3e54c69601ec1ccca">CVC3::CARD_FINITE</a>, <a class="el" href="namespaceCVC3.html#af969e724f8b7016909f5804e8cea3e54ad4a45eb68b0ebb32f0c805f6d2abf6d6">CVC3::CARD_INFINITE</a>, <a class="el" href="namespaceCVC3.html#af969e724f8b7016909f5804e8cea3e54a61454dbfa122fc961909dfd151695807">CVC3::CARD_UNKNOWN</a> }</td></tr> <tr class="memdesc:af969e724f8b7016909f5804e8cea3e54"><td class="mdescLeft"> </td><td class="mdescRight">Enum for cardinality of types. <a href="namespaceCVC3.html#af969e724f8b7016909f5804e8cea3e54">More...</a><br/></td></tr> <tr class="separator:af969e724f8b7016909f5804e8cea3e54"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ad4258158bba138eb54b9080af7f8223a"><td class="memItemLeft" align="right" valign="top">Expr </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCVC3.html#ad4258158bba138eb54b9080af7f8223a">CVC3::andExpr</a> (const std::vector< Expr > &children)</td></tr> <tr class="separator:ad4258158bba138eb54b9080af7f8223a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a30f30b6e20c174f21ae63acea8618294"><td class="memItemLeft" align="right" valign="top">Expr </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCVC3.html#a30f30b6e20c174f21ae63acea8618294">CVC3::orExpr</a> (const std::vector< Expr > &children)</td></tr> <tr class="separator:a30f30b6e20c174f21ae63acea8618294"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8e164436388f2d87c971d9bbde973c58"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCVC3.html#a8e164436388f2d87c971d9bbde973c58">CVC3::operator==</a> (const Expr &e1, const Expr &e2)</td></tr> <tr class="separator:a8e164436388f2d87c971d9bbde973c58"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5aa953c549c2e103f3834c48bf6cb9a1"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCVC3.html#a5aa953c549c2e103f3834c48bf6cb9a1">CVC3::operator!=</a> (const Expr &e1, const Expr &e2)</td></tr> <tr class="separator:a5aa953c549c2e103f3834c48bf6cb9a1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad3e3964a0b8cd9e2749de47b053b9d97"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCVC3.html#ad3e3964a0b8cd9e2749de47b053b9d97">CVC3::operator<</a> (const Expr &e1, const Expr &e2)</td></tr> <tr class="separator:ad3e3964a0b8cd9e2749de47b053b9d97"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abccc88aac4f7652def737f1081dc7a89"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCVC3.html#abccc88aac4f7652def737f1081dc7a89">CVC3::operator<=</a> (const Expr &e1, const Expr &e2)</td></tr> <tr class="separator:abccc88aac4f7652def737f1081dc7a89"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0d82fd3eb68860cbd01ae86b2b9e3c66"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCVC3.html#a0d82fd3eb68860cbd01ae86b2b9e3c66">CVC3::operator></a> (const Expr &e1, const Expr &e2)</td></tr> <tr class="separator:a0d82fd3eb68860cbd01ae86b2b9e3c66"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af997ba8407b661bf2ffe2cb6f52c3e3b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceCVC3.html#af997ba8407b661bf2ffe2cb6f52c3e3b">CVC3::operator>=</a> (const Expr &e1, const Expr &e2)</td></tr> <tr class="separator:af997ba8407b661bf2ffe2cb6f52c3e3b"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Definition of the API to expression package. See class Expr for details. </p> <p>Author: Clark Barrett</p> <p>Created: Tue Nov 26 00:27:40 2002</p> <hr/> <p>License to use, copy, modify, sell and/or distribute this software and its documentation for any purpose is hereby granted without royalty, subject to the terms and conditions defined in the <a class="el" href="LICENSE.html">LICENSE</a> file provided with this distribution.</p> <hr/> <p>Definition in file <a class="el" href="expr_8h_source.html">expr.h</a>.</p> </div></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Thu May 16 2013 13:25:16 for CVC3 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.2 </small></address> </body> </html>