Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > a24e1a39141f9b4ca49bd1e2e23a54ba > files > 803

polybori-doc-0.5rc.p9-6mdv2010.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>PolyBoRi: pbori_algo.h File 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="index.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><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>pbori_algo.h File Reference</h1><code>#include &quot;<a class="el" href="pbori__defs_8h_source.html">pbori_defs.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="pbori__func_8h_source.html">pbori_func.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="pbori__traits_8h_source.html">pbori_traits.h</a>&quot;</code><br>
<code>#include &quot;cudd.h&quot;</code><br>
<code>#include &quot;cuddInt.h&quot;</code><br>
<code>#include &quot;<a class="el" href="CCuddInterface_8h_source.html">CCuddInterface.h</a>&quot;</code><br>

<p>
<a href="pbori__algo_8h_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html">polybori</a></td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType , class TermType , class TernaryOperator , class TerminalOperator &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">TermType&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#681b961708e4781decc938ba35aafe34">polybori::dd_backward_transform</a> (NaviType navi, TermType init, TernaryOperator newNode, TerminalOperator terminate)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function templates for transforming decision diagrams.  <a href="#681b961708e4781decc938ba35aafe34"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType , class TermType , class OutIterator , class ThenBinaryOperator , class ElseBinaryOperator , class TerminalOperator &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#094813e9371a53ba49be73a828c5a9dd">polybori::dd_transform</a> (NaviType navi, TermType init, OutIterator result, ThenBinaryOperator then_binop, ElseBinaryOperator else_binop, TerminalOperator terminate)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function templates for transforming decision diagrams.  <a href="#094813e9371a53ba49be73a828c5a9dd"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType , class TermType , class OutIterator , class ThenBinaryOperator , class ElseBinaryOperator , class TerminalOperator , class FirstTermOp &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#786b86aa045cae7a738a47d9918ecce9">polybori::dd_transform</a> (NaviType navi, TermType init, OutIterator result, ThenBinaryOperator then_binop, ElseBinaryOperator else_binop, TerminalOperator terminate, FirstTermOp terminate_first)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType , class TermType , class OutIterator , class ThenBinaryOperator , class ElseBinaryOperator &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#ec5429fd8cdb912534290d56eb5d78d5">polybori::dd_transform</a> (const NaviType &amp;navi, const TermType &amp;init, const OutIterator &amp;result, const ThenBinaryOperator &amp;then_binop, const ElseBinaryOperator &amp;else_binop)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function templates for transforming decision diagrams.  <a href="#ec5429fd8cdb912534290d56eb5d78d5"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType , class TermType , class OutIterator , class ThenBinaryOperator &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#eb1a56a93f04c61bc5924739c1176d05">polybori::dd_transform</a> (const NaviType &amp;navi, const TermType &amp;init, const OutIterator &amp;result, const ThenBinaryOperator &amp;then_binop)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function templates for transforming decision diagrams.  <a href="#eb1a56a93f04c61bc5924739c1176d05"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class InputIterator , class OutputIterator , class FirstFunction , class UnaryFunction &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#623299a572ab265b87536471038a051b">polybori::special_first_transform</a> (InputIterator first, InputIterator last, OutputIterator result, UnaryFunction op, FirstFunction firstop)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class InputIterator , class Intermediate , class OutputIterator &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#39e393c4286cf8905dd845f004f04443">polybori::reversed_inter_copy</a> (InputIterator start, InputIterator finish, Intermediate &amp;inter, OutputIterator output)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function templates doing a reversed copy using intermediate storage.  <a href="#39e393c4286cf8905dd845f004f04443"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#e0f426c9c7e4e2fe4d75775a4ef99ee9">polybori::dd_on_path</a> (NaviType navi)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType , class OrderedIterator &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#cb6344d5ff20ba21b11d4480ee9e78e2">polybori::dd_owns_term_of_indices</a> (NaviType navi, OrderedIterator start, OrderedIterator finish)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType , class OrderedIterator , class NodeOperation &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">NaviType&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#f85e7fef57412e7c2b830144c68e2509">polybori::dd_intersect_some_index</a> (NaviType navi, OrderedIterator start, OrderedIterator finish, NodeOperation newNode)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#b5d7d5cc3e86f3707d30aeffc57bb685">polybori::dd_print</a> (NaviType navi)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function templates for debugging, prints dd indices and reference counts.  <a href="#b5d7d5cc3e86f3707d30aeffc57bb685"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class IteratorType , class SizeType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">SizeType&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#b82f8384b788b0d1ace855581c13c0c4">polybori::limited_distance</a> (IteratorType start, IteratorType finish, SizeType limit)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType , class DDType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">DDType&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#f21584c7975eb3bde0a26902776245d9">polybori::dd_minimal_elements</a> (NaviType navi, DDType dd, DDType &amp;multiples)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class MgrType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const MgrType &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#133ade2eba08cb872ac4355b389f2cdf">polybori::get_mgr_core</a> (const MgrType &amp;rhs)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">Cudd *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#c9ecc6f30d24c887aee5050125db8dfe">polybori::get_mgr_core</a> (const Cudd &amp;rhs)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">CCuddInterface::mgrcore_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#704e9319a84420bbfed328e77d3ee460">polybori::get_mgr_core</a> (const CCuddInterface &amp;mgr)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class ManagerType , class ReverseIterator , class MultReverseIterator &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">manager_traits&lt; ManagerType &gt;<br class="typebreak">
::dd_base&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#9f5a4551340ca9187a30a37dbccf3f56">polybori::cudd_generate_multiples</a> (const ManagerType &amp;mgr, ReverseIterator start, ReverseIterator finish, MultReverseIterator multStart, MultReverseIterator multFinish)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">temporarily (needs to be more generic)  <a href="#9f5a4551340ca9187a30a37dbccf3f56"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class ManagerType , class ReverseIterator &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">manager_traits&lt; ManagerType &gt;<br class="typebreak">
::dd_base&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#220b46f13d6e432df1cd40432dddbabb">polybori::cudd_generate_divisors</a> (const ManagerType &amp;mgr, ReverseIterator start, ReverseIterator finish)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">temporarily (needs to be more generic)  <a href="#220b46f13d6e432df1cd40432dddbabb"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class Iterator , class SizeType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Iterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#56c065103475f23d2b514ebf419fa79e">polybori::bounded_max_element</a> (Iterator start, Iterator finish, SizeType bound)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class LhsType , class RhsType , class BinaryPredicate &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">CTypes::comp_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#5d5bac8b009548eb8ec17ca2f47eced8">polybori::generic_compare_3way</a> (const LhsType &amp;lhs, const RhsType &amp;rhs, BinaryPredicate comp)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">defines lexicographic comparison for variable indices  <a href="#5d5bac8b009548eb8ec17ca2f47eced8"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class IteratorLike , class ForwardIteratorTag &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">IteratorLike&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#d7c8a70512fdf0903425cc0e4b6d7125">polybori::increment_iteratorlike</a> (IteratorLike iter, ForwardIteratorTag)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class IteratorLike &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">IteratorLike&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#6e736eaf4ce650ab31ef125ebb052f5b">polybori::increment_iteratorlike</a> (IteratorLike iter, navigator_tag)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class IteratorLike &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">IteratorLike&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#2032714f022961f802e7f4500ccbf8bd">polybori::increment_iteratorlike</a> (IteratorLike iter)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">DdNode *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#c8eef4822df804ee3e8a6c97ecb722ef">polybori::pboriCuddZddUnionXor__</a> (DdManager *, DdNode *, DdNode *)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class MgrType , class NodeType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">NodeType&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#e49cee209098fb6dd51dbd9f5af13c21">polybori::pboriCuddZddUnionXor</a> (MgrType zdd, NodeType P, NodeType Q)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class MgrType , class NodeType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">NodeType&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#41700debc9ce9c13c5e1b325e4148fcc">polybori::pboriCudd_zddUnionXor</a> (MgrType dd, NodeType P, NodeType Q)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#c33297fcea6d9ca92eabacdeeb2e050e">polybori::dd_is_singleton</a> (NaviType navi)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType , class BooleConstant &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">BooleConstant&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#4e8278bdd0e2fb5175daff3f3d193f9d">polybori::dd_pair_check</a> (NaviType navi, BooleConstant allowSingleton)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#e0805d1b223014c55931ebb35a19b435">polybori::dd_is_singleton_or_pair</a> (NaviType navi)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class NaviType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#1e37aeba5f3db38e566e81de60082baa">polybori::dd_is_pair</a> (NaviType navi)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class SetType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#b65c63c61dd7aad862079a7925b4e723">polybori::combine_sizes</a> (const SetType &amp;bset, double &amp;init)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class SetType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#d21dcb084f3c03e9e7b2cbaa55e1aee4">polybori::combine_sizes</a> (const SetType &amp;bset, typename SetType::size_type &amp;init)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class SizeType , class IdxType , class NaviType , class SetType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">SizeType &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#1ef23e0db31b7bdde5d643bd686f19ba">polybori::count_index</a> (SizeType &amp;size, IdxType idx, NaviType navi, const SetType &amp;init)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class SizeType , class IdxType , class SetType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">SizeType &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepolybori.html#d2cfa7f286fcb7edd2506ea988108d15">polybori::count_index</a> (SizeType &amp;size, IdxType idx, const SetType &amp;bset)</td></tr>

</table>
<hr><h2>Detailed Description</h2>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Alexander Dreyer </dd></dl>
<dl class="date" compact><dt><b>Date:</b></dt><dd>2006-04-07</dd></dl>
This file includes some templates of simple transformations and similar procedures.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>This file carries pure template routines. Algorithms, which make explicite use of PolyBoRi classes can be found in <a class="el" href="pbori__algorithms_8h.html">pbori_algorithms.h</a></dd></dl>
<dl class="user" compact><dt><b>Copyright:</b></dt><dd>(c) 2006 by The PolyBoRi Team </dd></dl>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 9 14:31:00 2009 for PolyBoRi 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>