16 #ifndef polybori_ring_CCuddCore_h
17 #define polybori_ring_CCuddCore_h
30 #include <boost/intrusive_ptr.hpp>
33 #include <boost/shared_ptr.hpp>
93 m_mgr(0, numVarsZ), ref(0), m_names(numVarsZ),
99 m_mgr(rhs.m_mgr), ref(0), m_names(rhs.m_names), pOrder(rhs.pOrder) { }
#define END_NAMESPACE_PBORI
Finish project's namespace.
Definition: pbori_defs.h:77
vartext_type const_reference
Define type for outputing variable names.
Definition: CVariableNames.h:52
variable_names_type::const_reference const_varname_reference
Define type for getting names of variables.
Definition: CCuddCore.h:63
CCuddCore(size_type numVarsZ, const order_ptr &order)
Initialize raw decision diagram management.
Definition: CCuddCore.h:92
void addRef()
Increment reference count.
Definition: CCuddCore.h:105
#define BEGIN_NAMESPACE_PBORI
Start project's namespace.
Definition: pbori_defs.h:74
CVariableNames variable_names_type
Define type for storing names of variables.
Definition: CCuddCore.h:60
This struct contains type definitions and enumerations to be used for order codes.
Definition: pbori_defs.h:152
variable_names_type m_names
Stores names of variables.
Definition: CCuddCore.h:84
Definition: COrderingBase.h:43
This struct contains auxiliary type definitions.
Definition: pbori_defs.h:210
This class defines a C++ interface to CUDD's decicion diagram manager.
Definition: CCuddInterface.h:111
This class prepares the CUDD's raw decision diagram manager structure for the use with instrinsive po...
Definition: CCuddCore.h:50
void intrusive_ptr_release(pbori_DdManager *ptr)
Release current pointer by decrementing reference counting.
Definition: CCuddInterface.h:73
Definition: CVariableNames.h:30
order_type & order_reference
Reference for handling mterm orderings.
Definition: CCuddCore.h:75
refcount_type release()
Release this by decrementing reference counting.
Definition: CCuddCore.h:108
CCuddCore(const self &rhs)
Definition: CCuddCore.h:98
COrderingBase order_type
Type for handling mterm orderings.
Definition: CCuddCore.h:69
~CCuddCore()
Destructor.
Definition: CCuddCore.h:102
CTypes::ordercode_type ordercode_type
Enum for ordering codes.
Definition: CCuddCore.h:78
order_ptr pOrder
*Ordering of *this
Definition: CCuddCore.h:88
This class defines CWeakPtrFacade.
Definition: CWeakPtrFacade.h:36
void change_ordering(const order_ptr &newOrder)
Definition: CCuddCore.h:112
std::size_t size_type
Type for lengths, dimensions, etc.
Definition: pbori_defs.h:219
boost::shared_ptr< order_type > order_ptr
Smart pointer for handling mterm orderings.
Definition: CCuddCore.h:72
void intrusive_ptr_add_ref(pbori_DdManager *ptr)
Increment reference count.
Definition: CCuddInterface.h:67
refcount_type ref
Count instances pointing here.
Definition: CCuddCore.h:81
int ordercode_type
Type for ordering codes.
Definition: pbori_defs.h:240
CCuddInterface m_mgr
Current decision diagram management.
Definition: CCuddCore.h:66