CCuddCore Class Reference

This class prepares the CUDD's raw decision diagram manager structure for the use with instrinsive pointers. More...

#include <CCuddCore.h>

List of all members.

Get CUDD-related type definitions



typedef CCuddCore self
 Fix type of *this.
typedef boost::intrusive_ptr
< self
mgrcore_ptr
 Fix type for supported smart pointer.
typedef CVariableNames variable_names_type
 Define type for storing names of variables.
typedef
variable_names_type::const_reference 
const_varname_reference
 Define type for getting names of variables.
boost::intrusive_ptr< DdManager > pmanager
 Current raw decision diagram management.
refcount_type ref
 Count instances pointing here.
variable_names_type m_names
 Stores names of variables.
std::vector< node_type > m_vars
static errorfunc_type errorHandler = defaultError
 Functions for handling errors from CUDD functions.
static bool verbose = 0
 Control eloquence of CUDD functionality.
 CCuddCore (size_type numVars=0, size_type numVarsZ=0, size_type numSlots=CUDD_UNIQUE_SLOTS, size_type cacheSize=CUDD_CACHE_SLOTS, large_size_type maxMemory=0)
 Initialize raw decision diagram management.
 CCuddCore (const self &rhs)
 Copy Constructor (nearly deep copy, but shallow copy of manager).
DdManager * manager ()
DdManager * getMan (size_type numVars=0, size_type numVarsZ=0, size_type numSlots=CUDD_UNIQUE_SLOTS, size_type cacheSize=CUDD_CACHE_SLOTS, large_size_type maxMemory=0)
 ~CCuddCore ()
 Destructor.
void addRef ()
 Increment reference count.
refcount_type release ()
 Release this by decrementing reference counting.

Detailed Description

This class prepares the CUDD's raw decision diagram manager structure for the use with instrinsive pointers.

The purpose of this wrapper is mainly to provide the necessary functionality for application of intrisive pointers (refernce counting). In addition, some global settings are stored within.

Attention:
This class is intented for internal use only. See CCuddDD, CCuddZDD, and CCuddInterface.

Member Typedef Documentation

Define type for getting names of variables.

typedef boost::intrusive_ptr<self> CCuddCore::mgrcore_ptr

Fix type for supported smart pointer.

Fix type of *this.

Define type for storing names of variables.


Constructor & Destructor Documentation

CCuddCore::CCuddCore ( size_type  numVars = 0,
size_type  numVarsZ = 0,
size_type  numSlots = CUDD_UNIQUE_SLOTS,
size_type  cacheSize = CUDD_CACHE_SLOTS,
large_size_type  maxMemory = 0 
) [inline]

Initialize raw decision diagram management.

References manager().

CCuddCore::CCuddCore ( const self rhs  )  [inline]

Copy Constructor (nearly deep copy, but shallow copy of manager).

References m_vars.

CCuddCore::~CCuddCore (  )  [inline]

Destructor.

int retval = Cudd_CheckZeroRef(manager);

References m_vars, and manager().


Member Function Documentation

void CCuddCore::addRef (  )  [inline]

Increment reference count.

References ref.

Referenced by intrusive_ptr_add_ref().

DdManager* CCuddCore::getMan ( size_type  numVars = 0,
size_type  numVarsZ = 0,
size_type  numSlots = CUDD_UNIQUE_SLOTS,
size_type  cacheSize = CUDD_CACHE_SLOTS,
large_size_type  maxMemory = 0 
) [inline]
DdManager* CCuddCore::manager (  )  [inline]

References pmanager.

Referenced by CCuddCore(), and ~CCuddCore().

refcount_type CCuddCore::release (  )  [inline]

Release this by decrementing reference counting.

References ref.

Referenced by intrusive_ptr_release().


Member Data Documentation

CCuddCore::errorfunc_type CCuddCore::errorHandler = defaultError [static]

Functions for handling errors from CUDD functions.

Stores names of variables.

std::vector<node_type> CCuddCore::m_vars

Referenced by CCuddCore(), and ~CCuddCore().

boost::intrusive_ptr<DdManager> CCuddCore::pmanager

Current raw decision diagram management.

Referenced by manager().

refcount_type CCuddCore::ref

Count instances pointing here.

Referenced by addRef(), and release().

bool CCuddCore::verbose = 0 [static]

Control eloquence of CUDD functionality.


The documentation for this class was generated from the following files:
Generated on Thu Aug 5 13:34:44 2010 for PolyBoRi by  doxygen 1.6.3