CCuddInterface.h File Reference
`#include <polybori/pbori_defs.h>`
`#include <polybori/cudd/cudd.h>`
`#include <polybori/cudd/cuddInt.h>`
`#include <polybori/routines/pbori_func.h>`
`#include "CCallbackWrapper.h"`
`#include <vector>`
`#include <boost/intrusive_ptr.hpp>`
`#include <boost/scoped_array.hpp>`
`#include <boost/preprocessor/cat.hpp>`
`#include <boost/preprocessor/seq/for_each.hpp>`
`#include <boost/preprocessor/facilities/expand.hpp>`
`#include <boost/preprocessor/stringize.hpp>`
`#include <polybori/except/PBoRiError.h>`
`#include <stdexcept>`
`#include <algorithm>`
`#include <polybori/common/CWeakPtrFacade.h>`

Go to the source code of this file.

## Classes

class | polybori::CCuddInterface
| This class defines a C++ interface to `CUDD's` decicion diagram manager. More...

## Namespaces

| polybori

## Macros

Define templates for generating member functions from CUDD procedures
#define | PB_CUDDMGR_READ(count, data, funcname)
#define | PB_CUDDMGR_SWITCH(count, data, funcname)
#define | PB_CUDDMGR_SET(count, data, funcname)

## Functions

const char * | error_text (pbori_DdManager *mgr)
void | intrusive_ptr_add_ref (pbori_DdManager *ptr)
| Increment reference count. More...
void | intrusive_ptr_release (pbori_DdManager *ptr)
| Release current pointer by decrementing reference counting. More...

## Detailed Description

Author
  Alexander Dreyer

Date
  2007-07-05

This files defines a replacement for the decision diagram manager of CUDD's C++ interface.

Copyright:
  (c) 2007-2010 by The PolyBoRi Team

## Macro Definition Documentation

#define PB_CUDDMGR_READ | ( |  | count,
|  |  | data,
|  |  | funcname
| ) |  |

Value:
data funcname() const { \
return BOOST_PP_CAT(PBORI_PREFIX(Cudd_), funcname)(*this); }
PBORI_PREFIX
#define PBORI_PREFIX(name)
Definition: prefix.h:27

#define PB_CUDDMGR_SET | ( |  | count,
|  |  | data,
|  |  | funcname
| ) |  |

Value:
void funcname(data arg) { \
BOOST_PP_CAT(PBORI_PREFIX(Cudd_), funcname)(*this, arg); }
PBORI_PREFIX
#define PBORI_PREFIX(name)
Definition: prefix.h:27

#define PB_CUDDMGR_SWITCH | ( |  | count,
|  |  | data,
|  |  | funcname
| ) |  |

Value:
void funcname() { \
BOOST_PP_CAT(PBORI_PREFIX(Cudd_), funcname)(*this); }
PBORI_PREFIX
#define PBORI_PREFIX(name)
Definition: prefix.h:27

## Function Documentation

const char* error_text | ( | pbori_DdManager * | mgr | ) |

inline

References Cudd_ReadErrorCode, and PBORI_PREFIX.

Referenced by polybori::CCuddDDFacade< BoolePolyRing, BooleSet >::checkAssumption(), and polybori::CCuddInterface::checkedResult().

void intrusive_ptr_add_ref | ( | pbori_DdManager * | ptr | ) |

inline

Increment reference count.

void intrusive_ptr_release | ( | pbori_DdManager * | ptr | ) |

inline

Release current pointer by decrementing reference counting.

References Cudd_CheckZeroRef, Cudd_Quit, PBORI_ASSERT, and PBORI_PREFIX.