CCuddDDFacade.h File Reference
`#include <polybori/pbori_defs.h>`
`#include <polybori/cudd/cudd.h>`
`#include <polybori/cudd/prefix.h>`
`#include "CApplyNodeFacade.h"`
`#include "CNodeCounter.h"`
`#include <polybori/routines/pbori_routines_cuddext.h>`
`#include <polybori/common/CExtrusivePtr.h>`
`#include <polybori/iterators/CCuddNavigator.h>`
`#include <polybori/iterators/CCuddFirstIter.h>`
`#include <polybori/iterators/CCuddLastIter.h>`
`#include <polybori/iterators/PBoRiOutIter.h>`
`#include <polybori/except/PBoRiGenericError.h>`
`#include <polybori/common/CCheckedIdx.h>`
`#include <polybori/routines/pbori_algo.h>`
`#include <polybori/common/tags.h>`
`#include <polybori/routines/pbori_routines_hash.h>`
`#include <boost/preprocessor/cat.hpp>`
`#include <boost/preprocessor/seq/for_each.hpp>`
`#include <boost/preprocessor/facilities/expand.hpp>`
`#include <boost/preprocessor/stringize.hpp>`
`#include <stdexcept>`
`#include <algorithm>`
`#include <numeric>`

Go to the source code of this file.

## Classes

class | polybori::CCuddDDFacade< RingType, DiagramType >
| This template class defines a facade for decision diagrams. More...

## Namespaces

| polybori

## Constant Groups

| polybori

## Macros

#define | PBORI_NAME_Product product
#define | PBORI_NAME_UnateProduct unateProduct
#define | PBORI_NAME_WeakDiv weakDivide
#define | PBORI_NAME_Divide divide
#define | PBORI_NAME_WeakDivF weakDivF
#define | PBORI_NAME_DivideF divideF
#define | PBORI_NAME_Union unite
#define | PBORI_NAME_Intersect intersect
#define | PBORI_NAME_Diff diff
#define | PBORI_NAME_Subset1 subset1
#define | PBORI_NAME_Subset0 subset0
#define | PBORI_NAME_Change change
#define | PB_ZDD_APPLY(count, data, funcname)

## Functions

template<class DataType >
void | polybori::extrusive_ptr_release (const DataType &data, DdNode *ptr)
| Releasing raw pointers to decision diagrams here. More...
template<class DataType >
void | polybori::extrusive_ptr_add_ref (const DataType &, DdNode *ptr)
| Incrememting reference counts to raw pointers to decision diagrams. More...

## Detailed Description

Author
  Alexander Dreyer

Date
  2010-08-25

This file defines a facade for decision diagrams

Copyright:
  (c) by The PolyBoRi Team

## Macro Definition Documentation

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

Value:
diagram_type BOOST_PP_CAT(PBORI_NAME_, funcname)(data rhs) const { \
return apply(BOOST_PP_CAT(PBORI_PREFIX(Cudd_zdd), funcname), \
rhs); }

#define PBORI_NAME_Change change

#define PBORI_NAME_Diff diff

#define PBORI_NAME_Divide divide

#define PBORI_NAME_DivideF divideF

#define PBORI_NAME_Intersect intersect

#define PBORI_NAME_Product product

#define PBORI_NAME_Subset0 subset0

#define PBORI_NAME_Subset1 subset1

#define PBORI_NAME_UnateProduct unateProduct

#define PBORI_NAME_Union unite

#define PBORI_NAME_WeakDiv weakDivide

#define PBORI_NAME_WeakDivF weakDivF