polybori::CCuddCore Class Reference

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

#include <CCuddCore.h>

Inheritance diagram for polybori::CCuddCore:

polybori::COrderEnums polybori::CAuxTypes polybori::CWeakPtrFacade< ValueType >

List of all members.

Public Types

typedef CCuddCore self
 Fix type of *this.
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.
typedef COrderingBase order_type
 Type for handling mterm orderings.
typedef boost::shared_ptr
< order_type
order_ptr
 Smart pointer for handling mterm orderings.
typedef order_typeorder_reference
 Reference for handling mterm orderings.
typedef CTypes::ordercode_type ordercode_type
 Enum for ordering codes.

Public Member Functions

 CCuddCore (size_type numVarsZ, const order_ptr &order)
 Initialize raw decision diagram management.
 CCuddCore (const self &rhs)
 ~CCuddCore ()
 Destructor.
void addRef ()
 Increment reference count.
refcount_type release ()
 Release this by decrementing reference counting.
void change_ordering (const order_ptr &newOrder)

Public Attributes

CCuddInterface m_mgr
 Current decision diagram management.
refcount_type ref
 Count instances pointing here.
variable_names_type m_names
 Stores names of variables.
order_ptr pOrder
 *Ordering of *this


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

Fix type of *this.

Reimplemented from polybori::CWeakPtrFacade< ValueType >.

Define type for storing names of variables.

Define type for getting names of variables.

Type for handling mterm orderings.

typedef boost::shared_ptr<order_type> polybori::CCuddCore::order_ptr

Smart pointer for handling mterm orderings.

Reference for handling mterm orderings.

Enum for ordering codes.

Reimplemented from polybori::CAuxTypes.


Constructor & Destructor Documentation

polybori::CCuddCore::CCuddCore ( size_type  numVarsZ,
const order_ptr order 
) [inline]

Initialize raw decision diagram management.

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

Copy Constructor (nearly deep copy, but shallow copy of manager, names and ordering)

polybori::CCuddCore::~CCuddCore (  )  [inline]

Destructor.


Member Function Documentation

void polybori::CCuddCore::addRef (  )  [inline]

Increment reference count.

Referenced by polybori::intrusive_ptr_add_ref().

refcount_type polybori::CCuddCore::release (  )  [inline]

Release this by decrementing reference counting.

Referenced by polybori::intrusive_ptr_release().

void polybori::CCuddCore::change_ordering ( const order_ptr newOrder  )  [inline]


Member Data Documentation

Current decision diagram management.

Count instances pointing here.

Stores names of variables.

*Ordering of *this


The documentation for this class was generated from the following file:

Generated on Wed Jan 30 16:39:53 2013 for PolyBoRi by  doxygen 1.5.6