CDDManagerBase< CuddLikeManType, StorageType > Class Template Reference

this specialization of the template class CDDManager gives an interface to Cudd-like ZDD manager (StorageType = CuddLikeManType) or a reference of the latter (StorageType = CuddLikeManType&). More...

#include <CDDManager.h>

List of all members.

Public Types

typedef CuddLikeManType interfaced_type
 Interfacing Cudd's or CCuddInterces's zero-suppressed decision diagram type.
typedef StorageType interfaced_store
 Storing interfaced_type or reference of it.
typedef CDDManagerBase
< interfaced_type,
interfaced_store
self
 Generic access to type of *this.
typedef CTypes::size_type size_type
 Define size type.
typedef CTypes::idx_type idx_type
 Define index type.
typedef manager_traits
< interfaced_type >::dd_base 
dd_base
 Define raw type for decision diagrams.
typedef CDDInterface< dd_basedd_type
 Define type for decision diagrams.
typedef std::map< idx_type,
dd_base
persistent_cache_type
 Define type for caching persistent variables.
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.

Public Member Functions

 CDDManagerBase (size_type nvars=0, size_type numSlots=PBORI_UNIQUE_SLOTS, size_type cacheSize=PBORI_CACHE_SLOTS, unsigned long maxMemory=PBORI_MAX_MEMORY)
 Default constructor.
 CDDManagerBase (const self &rhs)
 Copy constructor.
 CDDManagerBase (const interfaced_type &rhs)
 Constructor from given ring.
 CDDManagerBase (const dd_type &dd)
 Extract manager from given decision diagram.
 ~CDDManagerBase ()
 Destructor.
dd_base fetchDiagram (const dd_base &rhs) const
 Get decision diagram, from the same manager, but different wrapper.
dd_base ddVariable (idx_type nvar) const
 Access nvar-th managed variable.
dd_base variable (idx_type nvar) const
 Access nvar-th managed variable.
dd_base persistentVariable (idx_type nvar) const
 Access nvar-th managed variable.
size_type nVariables () const
 Get number of managed variables.
dd_type empty () const
dd_type blank () const
 operator interfaced_type & ()
 Casting operator to interfaced type.
 operator const interfaced_type & () const
 Constant casting operator to interfaced type.
interfaced_typemanager ()
 Get interfaced type.
const interfaced_typemanager () const
 Get interfaced type.
void printInfo () const
 Print out statistics and settings for a decision diagram manager.
void setVariableName (idx_type idx, const_varname_reference varname)
 Set name of variable with index idx.
const_varname_reference getVariableName (idx_type idx) const
 Get name of variable with index idx.

Detailed Description

template<class CuddLikeManType, class StorageType>
class CDDManagerBase< CuddLikeManType, StorageType >

this specialization of the template class CDDManager gives an interface to Cudd-like ZDD manager (StorageType = CuddLikeManType) or a reference of the latter (StorageType = CuddLikeManType&).

Note:
Currently CuddLikeManType may be Cudd or CCuddInterface
Todo:
This may need clean up and/or generalization

Member Typedef Documentation

template<class CuddLikeManType, class StorageType>
typedef variable_names_type::const_reference CDDManagerBase< CuddLikeManType, StorageType >::const_varname_reference

Define type for getting names of variables.

template<class CuddLikeManType, class StorageType>
typedef manager_traits<interfaced_type>::dd_base CDDManagerBase< CuddLikeManType, StorageType >::dd_base

Define raw type for decision diagrams.

template<class CuddLikeManType, class StorageType>
typedef CDDInterface<dd_base> CDDManagerBase< CuddLikeManType, StorageType >::dd_type

Define type for decision diagrams.

template<class CuddLikeManType, class StorageType>
typedef CTypes::idx_type CDDManagerBase< CuddLikeManType, StorageType >::idx_type

Define index type.

template<class CuddLikeManType, class StorageType>
typedef StorageType CDDManagerBase< CuddLikeManType, StorageType >::interfaced_store

Storing interfaced_type or reference of it.

template<class CuddLikeManType, class StorageType>
typedef CuddLikeManType CDDManagerBase< CuddLikeManType, StorageType >::interfaced_type

Interfacing Cudd's or CCuddInterces's zero-suppressed decision diagram type.

template<class CuddLikeManType, class StorageType>
typedef std::map<idx_type, dd_base> CDDManagerBase< CuddLikeManType, StorageType >::persistent_cache_type

Define type for caching persistent variables.

template<class CuddLikeManType, class StorageType>
typedef CDDManagerBase<interfaced_type, interfaced_store> CDDManagerBase< CuddLikeManType, StorageType >::self
template<class CuddLikeManType, class StorageType>
typedef CTypes::size_type CDDManagerBase< CuddLikeManType, StorageType >::size_type

Define size type.

template<class CuddLikeManType, class StorageType>
typedef CVariableNames CDDManagerBase< CuddLikeManType, StorageType >::variable_names_type

Define type for storing names of variables.


Constructor & Destructor Documentation

template<class CuddLikeManType, class StorageType>
CDDManagerBase< CuddLikeManType, StorageType >::CDDManagerBase ( size_type  nvars = 0,
size_type  numSlots = PBORI_UNIQUE_SLOTS,
size_type  cacheSize = PBORI_CACHE_SLOTS,
unsigned long  maxMemory = PBORI_MAX_MEMORY 
) [inline]

Default constructor.

template<class CuddLikeManType, class StorageType>
CDDManagerBase< CuddLikeManType, StorageType >::CDDManagerBase ( const self rhs  )  [inline]

Copy constructor.

template<class CuddLikeManType, class StorageType>
CDDManagerBase< CuddLikeManType, StorageType >::CDDManagerBase ( const interfaced_type rhs  )  [inline]

Constructor from given ring.

template<class CuddLikeManType, class StorageType>
CDDManagerBase< CuddLikeManType, StorageType >::CDDManagerBase ( const dd_type dd  )  [inline]

Extract manager from given decision diagram.

template<class CuddLikeManType, class StorageType>
CDDManagerBase< CuddLikeManType, StorageType >::~CDDManagerBase (  )  [inline]

Destructor.


Member Function Documentation

template<class CuddLikeManType, class StorageType>
dd_type CDDManagerBase< CuddLikeManType, StorageType >::blank (  )  const [inline]

Get decision diagram with all variables negated

Note:
Set containing the empty set only (or the constant polynomial one)

Referenced by CDDManagerBase< CCuddInterface, CCuddInterface >::variable().

template<class CuddLikeManType, class StorageType>
dd_base CDDManagerBase< CuddLikeManType, StorageType >::ddVariable ( idx_type  nvar  )  const [inline]

Access nvar-th managed variable.

template<class CuddLikeManType, class StorageType>
dd_type CDDManagerBase< CuddLikeManType, StorageType >::empty (  )  const [inline]

Get empty decision diagram

Note:
Corresponds to the empty set (or the zero polynomial)
template<class CuddLikeManType, class StorageType>
dd_base CDDManagerBase< CuddLikeManType, StorageType >::fetchDiagram ( const dd_base rhs  )  const [inline]

Get decision diagram, from the same manager, but different wrapper.

template<class CuddLikeManType, class StorageType>
const_varname_reference CDDManagerBase< CuddLikeManType, StorageType >::getVariableName ( idx_type  idx  )  const [inline]

Get name of variable with index idx.

template<class CuddLikeManType, class StorageType>
const interfaced_type& CDDManagerBase< CuddLikeManType, StorageType >::manager (  )  const [inline]

Get interfaced type.

template<class CuddLikeManType, class StorageType>
interfaced_type& CDDManagerBase< CuddLikeManType, StorageType >::manager (  )  [inline]
template<class CuddLikeManType, class StorageType>
size_type CDDManagerBase< CuddLikeManType, StorageType >::nVariables (  )  const [inline]

Get number of managed variables.

Referenced by CDDManagerBase< CCuddInterface, CCuddInterface >::blank().

template<class CuddLikeManType, class StorageType>
CDDManagerBase< CuddLikeManType, StorageType >::operator const interfaced_type & (  )  const [inline]

Constant casting operator to interfaced type.

template<class CuddLikeManType, class StorageType>
CDDManagerBase< CuddLikeManType, StorageType >::operator interfaced_type & (  )  [inline]

Casting operator to interfaced type.

template<class CuddLikeManType, class StorageType>
dd_base CDDManagerBase< CuddLikeManType, StorageType >::persistentVariable ( idx_type  nvar  )  const [inline]

Access nvar-th managed variable.

template<class CuddLikeManType, class StorageType>
void CDDManagerBase< CuddLikeManType, StorageType >::printInfo (  )  const [inline]

Print out statistics and settings for a decision diagram manager.

template<class CuddLikeManType, class StorageType>
void CDDManagerBase< CuddLikeManType, StorageType >::setVariableName ( idx_type  idx,
const_varname_reference  varname 
) [inline]

Set name of variable with index idx.

template<class CuddLikeManType, class StorageType>
dd_base CDDManagerBase< CuddLikeManType, StorageType >::variable ( idx_type  nvar  )  const [inline]

Access nvar-th managed variable.


The documentation for this class was generated from the following file:
Generated on Wed May 5 21:35:58 2010 for PolyBoRi by  doxygen 1.6.3