#include "pbori_defs.h"
#include <algorithm>
#include <boost/shared_ptr.hpp>
#include <boost/scoped_array.hpp>
#include <boost/weak_ptr.hpp>
#include <boost/intrusive_ptr.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
#include <boost/preprocessor/facilities/expand.hpp>
#include <boost/preprocessor/stringize.hpp>
#include "pbori_func.h"
#include "pbori_traits.h"
#include "CCuddCore.h"
Go to the source code of this file.
Classes | |
class | polybori::CCuddDDBase< DiagramType > |
This template class defines a C++ interface to CUDD's decision diagram structure. More... | |
class | polybori::CCuddZDD |
This class defines a C++ interface to CUDD's zero-suppressed decision diagram structure. More... | |
Namespaces | |
namespace | polybori |
Defines | |
#define | PB_DD_VERBOSE(text) |
Define code for verbosity. | |
#define | PB_ZDD_APPLY(count, data, funcname) |
#define | PB_ZDD_OP_ASSIGN(count, data, op) |
#define | PB_ZDD_OP(count, data, op) self operator op(const self& other) const { return data(other); } |
#define PB_DD_VERBOSE | ( | text | ) |
Value:
if (ddMgr->verbose) \ std::cout << text << " for node " << node << \ " ref = " << refCount() << std::endl;
Referenced by polybori::CCuddDDBase< CCuddZDD >::CCuddDDBase(), polybori::CCuddZDD::deref(), and polybori::CCuddZDD::operator=().
#define PB_ZDD_APPLY | ( | count, | |||
data, | |||||
funcname | ) |
Value:
self funcname(data rhs) const { \ return apply(BOOST_PP_CAT(Cudd_zdd, funcname), rhs); }
#define PB_ZDD_OP | ( | count, | |||
data, | |||||
op | ) | self operator op(const self& other) const { return data(other); } |
#define PB_ZDD_OP_ASSIGN | ( | count, | |||
data, | |||||
op | ) |
Value:
self& operator BOOST_PP_CAT(op, =)(const self& other) { \ return *this = (*this op other); }