<!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_func.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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>pbori_func.h File Reference</h1><code>#include "<a class="el" href="pbori__defs_8h_source.html">pbori_defs.h</a>"</code><br> <code>#include "<a class="el" href="pbori__traits_8h_source.html">pbori_traits.h</a>"</code><br> <code>#include <string></code><br> <code>#include <sstream></code><br> <code>#include <ext/hash_map></code><br> <p> <a href="pbori__func_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>Classes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1push__back.html">polybori::push_back< ListType, ValueType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessing .push_back(). <a href="classpolybori_1_1push__back.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1change__idx.html">polybori::change_idx< RhsType, LhsType ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1change__assign.html">polybori::change_assign< RhsType, LhsType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessing .changeAssign(). <a href="classpolybori_1_1change__assign.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1change__assign_3_01void_00_01pbori__traits_3_01void_01_4_1_1idx__type_01_4.html">polybori::change_assign< void, pbori_traits< void >::idx_type ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1subset1__assign.html">polybori::subset1_assign< RhsType, LhsType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessing .subset1Assign(). <a href="classpolybori_1_1subset1__assign.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1subset0__assign.html">polybori::subset0_assign< RhsType, LhsType ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1unite__assign.html">polybori::unite_assign< RhsType, LhsType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessing .uniteAssign(). <a href="classpolybori_1_1unite__assign.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1project__ith_3_010_00_01NLEN_01_4.html">polybori::project_ith< 0, NLEN ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1project__ith_3_011_00_01NLEN_01_4.html">polybori::project_ith< 1, NLEN ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1project__ith_3_012_00_01NLEN_01_4.html">polybori::project_ith< 2, NLEN ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1project__ith_3_013_00_01NLEN_01_4.html">polybori::project_ith< 3, NLEN ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1dummy__iterator.html">polybori::dummy_iterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An iterator which virtually does nothing. <a href="classpolybori_1_1dummy__iterator.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1pbori__traits_3_01dummy__iterator_01_4.html">polybori::pbori_traits< dummy_iterator ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="structpolybori_1_1integral__constant.html">polybori::integral_constant< IntType, INTCONST, ResultType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">integral_constant<int_type, NUM>()() returns NUM of int_type, instead of possibly arguments. integral_constant<int_type, NUM, other_type>()() returns conversion of NUM of int_type to other_type. <a href="structpolybori_1_1integral__constant.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1binary__composition.html">polybori::binary_composition< BinaryOp, FirstOp, SecondOp ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compose a binary function with two default constructable unary functions. <a href="classpolybori_1_1binary__composition.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1symmetric__composition.html">polybori::symmetric_composition< BinaryOp, UnaryOperation ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compose a binary function with a default constructable unary function for both arguments. <a href="classpolybori_1_1symmetric__composition.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1maximum__iteration.html">polybori::maximum_iteration< ValueType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns maximun of given argument and previous calls. <a href="classpolybori_1_1maximum__iteration.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1dd__add__assign.html">polybori::dd_add_assign< DDType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Defines addition operation with assignment for decision diagrams. <a href="classpolybori_1_1dd__add__assign.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1times__indexed__var.html">polybori::times_indexed_var< DDType, IdxType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Defines multiplication operation with the idx-th variable. <a href="classpolybori_1_1times__indexed__var.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1append__indexed__divisor.html">polybori::append_indexed_divisor< DDType, IdxType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Defines multiplication (with assignment) with the idx-th variable. <a href="classpolybori_1_1append__indexed__divisor.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1inserts.html">polybori::inserts< RhsType, LhsType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessing .insert(). <a href="classpolybori_1_1inserts.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1inserts_3_01void_00_01pbori__traits_3_01void_01_4_1_1idx__type_01_4.html">polybori::inserts< void, pbori_traits< void >::idx_type ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1insert__assign.html">polybori::insert_assign< RhsType, LhsType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessing .insertAssign(). <a href="classpolybori_1_1insert__assign.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1insert__assign_3_01void_00_01pbori__traits_3_01void_01_4_1_1idx__type_01_4.html">polybori::insert_assign< void, pbori_traits< void >::idx_type ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1removes.html">polybori::removes< RhsType, LhsType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessing .remove(). <a href="classpolybori_1_1removes.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1removes_3_01void_00_01pbori__traits_3_01void_01_4_1_1idx__type_01_4.html">polybori::removes< void, pbori_traits< void >::idx_type ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1remove__assign.html">polybori::remove_assign< RhsType, LhsType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessing .removeAssign(). <a href="classpolybori_1_1remove__assign.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1remove__assign_3_01void_00_01pbori__traits_3_01void_01_4_1_1idx__type_01_4.html">polybori::remove_assign< void, pbori_traits< void >::idx_type ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1insert__second__to__list.html">polybori::insert_second_to_list< ListType, RhsType, LhsType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Insert second argument to a given list. <a href="classpolybori_1_1insert__second__to__list.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1is__same__type_3_01Type_00_01Type_01_4.html">polybori::is_same_type< Type, Type ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1is__same__type.html">polybori::is_same_type< Type1, Type2 ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class tests whether two types equal. <a href="classpolybori_1_1is__same__type.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1on__same__type_3_01Type_00_01Type_00_01ThenType_00_01ElseType_01_4.html">polybori::on_same_type< Type, Type, ThenType, ElseType ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1on__same__type.html">polybori::on_same_type< Type1, Type2, ThenType, ElseType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class switches betweem two types, depending on equality of types. <a href="classpolybori_1_1on__same__type.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="structpolybori_1_1internal__tag.html">polybori::internal_tag</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class marks an internal part of a procedure. <a href="structpolybori_1_1internal__tag.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="structpolybori_1_1type__tag.html">polybori::type_tag< Type ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This class marks a given type. <a href="structpolybori_1_1type__tag.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1hashes.html">polybori::hashes< Type ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1lm__hashes.html">polybori::lm_hashes< Type ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1generate__index__map.html">polybori::generate_index_map< Type ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1sizes__less.html">polybori::sizes_less< ListType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A functional for size comparisons. <a href="classpolybori_1_1sizes__less.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1reversed__iteration__adaptor.html">polybori::reversed_iteration_adaptor< BiIterator ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1navigates.html">polybori::navigates< DDType ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1default__value.html">polybori::default_value< ValueType ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1constant__binder__base.html">polybori::constant_binder_base< BindType, BinaryFunction, ValueType, ConstantOp ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1constant__binder2nd.html">polybori::constant_binder2nd< BinaryFunction, ConstantOp ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1constant__binder1st.html">polybori::constant_binder1st< BinaryFunction, ConstantOp ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1default__binder__base.html">polybori::default_binder_base< BindType, BinaryFunction, ValueType ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1default__binder2nd.html">polybori::default_binder2nd< BinaryFunction ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1default__binder1st.html">polybori::default_binder1st< BinaryFunction ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1variable__name.html">polybori::variable_name< ManagerType, IdxType, VarNameType ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Defines generic access to variable names. <a href="classpolybori_1_1variable__name.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1mapped__new__node.html">polybori::mapped_new_node< MapType, VariableType, TermType, NodeType ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1get__node.html">polybori::get_node< DDType ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structpolybori_1_1handle__error.html">polybori::handle_error< ErrorNumber ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structpolybori_1_1handle__error_3_010_01_4.html">polybori::handle_error< 0 ></a></td></tr> <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepolybori.html">polybori</a></td></tr> <tr><td colspan="2"><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pbori__func_8h.html#fcbed1dccd53fc187afcc90031c9c6f3">HAVE_HASH_MAP</a> 1</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 functional templates templates.<p> <dl class="user" compact><dt><b>Copyright:</b></dt><dd>(c) 2006 by The PolyBoRi Team </dd></dl> <hr><h2>Define Documentation</h2> <a class="anchor" name="fcbed1dccd53fc187afcc90031c9c6f3"></a><!-- doxytag: member="pbori_func.h::HAVE_HASH_MAP" ref="fcbed1dccd53fc187afcc90031c9c6f3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define HAVE_HASH_MAP 1 </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 9 14:31:00 2009 for PolyBoRi by <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>