polybori::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=CUDD_UNIQUE_SLOTS, size_type cacheSize=CUDD_CACHE_SLOTS, unsigned long maxMemory=0)
 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 polybori::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 polybori::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 polybori::CDDManagerBase< CuddLikeManType, StorageType >::dd_base

Define raw type for decision diagrams.

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

Define type for decision diagrams.

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

Define index type.

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

Storing interfaced_type or reference of it.

template<class CuddLikeManType, class StorageType>
typedef CuddLikeManType polybori::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> polybori::CDDManagerBase< CuddLikeManType, StorageType >::persistent_cache_type

Define type for caching persistent variables.

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

template<class CuddLikeManType, class StorageType>
typedef CTypes::size_type polybori::CDDManagerBase< CuddLikeManType, StorageType >::size_type

Define size type.

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

Define type for storing names of variables.


Constructor & Destructor Documentation

template<class CuddLikeManType, class StorageType>
polybori::CDDManagerBase< CuddLikeManType, StorageType >::CDDManagerBase ( size_type  nvars = 0,
size_type  numSlots = CUDD_UNIQUE_SLOTS,
size_type  cacheSize = CUDD_CACHE_SLOTS,
unsigned long  maxMemory = 0 
) [inline]

Default constructor.

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

Copy constructor.

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

Constructor from given ring.

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

Extract manager from given decision diagram.

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

Destructor.


Member Function Documentation

template<class CuddLikeManType, class StorageType>
dd_type polybori::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)

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

Access nvar-th managed variable.

template<class CuddLikeManType, class StorageType>
dd_type polybori::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 polybori::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 polybori::CDDManagerBase< CuddLikeManType, StorageType >::getVariableName ( idx_type  idx  )  const [inline]

Get name of variable with index idx.

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

Get interfaced type.

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

Get interfaced type.

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

Get number of managed variables.

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

Constant casting operator to interfaced type.

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

Casting operator to interfaced type.

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

Access nvar-th managed variable.

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

Print out statistics and settings for a decision diagram manager.

template<class CuddLikeManType, class StorageType>
void polybori::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 polybori::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 Thu Mar 5 08:43:12 2009 for PolyBoRi by  doxygen 1.5.8