PolyBoRi
Classes | Namespaces | Defines | Functions
CCuddDDFacade.h File Reference
#include "pbori_defs.h"
#include <cuddInt.h>
#include "CApplyNodeFacade.h"
#include "pbori_routines_cuddext.h"
#include "CExtrusivePtr.h"
#include "CCuddNavigator.h"
#include "CCuddFirstIter.h"
#include "CCuddLastIter.h"
#include "PBoRiOutIter.h"
#include "PBoRiGenericError.h"
#include "CCheckedIdx.h"
#include "pbori_algo.h"
#include "pbori_tags.h"
#include "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

namespace  polybori

Defines

#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.
template<class DataType >
void polybori::extrusive_ptr_add_ref (const DataType &, DdNode *ptr)
 Incrememting reference counts to raw pointers to decision diagrams.

Detailed Description

Author:
Alexander Dreyer
Date:
2010-08-25

This file defines a facade for decision diagrams

Copyright:
(c) by The PolyBoRi Team

Define 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(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