PolyBoRi

CCuddGetNode.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00033 //*****************************************************************************
00034 
00035 #include <iterator>
00036 
00037 // include basic definitions
00038 #include "pbori_defs.h"
00039 
00040 
00041 
00042 // get navigator type for cudd zdds
00043 #include "CCuddNavigator.h"
00044 
00045 #ifndef CCuddGetNode_h_
00046 #define CCuddGetNode_h_
00047 
00048 BEGIN_NAMESPACE_PBORI
00049 
00050 template <class ManagerType>
00051 class CDDManager;
00052 
00059 class CCuddGetNode {
00060 
00061 public:
00063   typedef CCuddNavigator node_type;
00064 
00066   typedef Cudd manager_type;
00067 
00069   typedef CTypes::idx_type idx_type;
00070 
00072   typedef CCuddGetNode self;
00073 
00075   CCuddGetNode(const manager_type&);
00076 
00078   CCuddGetNode(const self&);
00079 
00081   ~CCuddGetNode();
00082 
00084   node_type operator()(idx_type idx, 
00085                        const node_type& thennode, 
00086                        const node_type& elsenode) const;
00087 
00089   node_type operator()(idx_type idx, const node_type& oldnode, 
00090                        const node_type& thennode, 
00091                        const node_type& elsenode) const;
00092 
00094   node_type operator()(const node_type& oldnode) const;
00095 
00096 protected:
00097   const manager_type& mgr;
00098 };
00099 
00100 END_NAMESPACE_PBORI
00101 
00102 #endif