• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

BooleEnv.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00031 //*****************************************************************************
00032 
00033 // load PolyBoRi settings
00034 # include "pbori_defs.h"
00035 #include <vector>
00036 
00037 #ifndef BooleEnv_h_
00038 #define BooleEnv_h_
00039 
00040 
00041 BEGIN_NAMESPACE_PBORI
00042 
00043 
00044 class BoolePolyRing;
00045 extern BoolePolyRing active_ring;
00046 class CDynamicOrderBase;
00047 
00055 class BooleEnv: 
00056   public CTypes::orderenums_type, public CTypes::compenums_type, 
00057   public CTypes::auxtypes_type {
00058 
00059  public:
00060   //-------------------------------------------------------------------------
00061   // types definitions
00062   //-------------------------------------------------------------------------
00063 
00065   typedef BooleEnv self;
00066 
00068   typedef CTypes::orderenums_type base;
00069 
00071 
00072   typedef CTypes::ordercode_type ordercode_type;
00073   typedef CTypes::manager_type manager_type;
00074   typedef CTypes::manager_reference manager_reference;
00075   typedef CTypes::manager_ptr manager_ptr;
00076   typedef CTypes::dd_type dd_type;
00077   typedef CTypes::vartext_type vartext_type;
00079 
00081   typedef std::vector<idx_type> block_idx_type;
00082 
00084   typedef block_idx_type::const_iterator block_iterator;
00085 
00086   //-------------------------------------------------------------------------
00087   // constructors and destructor
00088   //-------------------------------------------------------------------------
00089 
00091   using base::ordercodes;
00092 
00094   static dd_type variable(idx_type idx);
00095 
00097   static dd_type persistentVariable(idx_type idx);
00098 
00100   static ordercode_type getOrderCode();
00101 
00104   static ordercode_type getBaseOrderCode();
00105 
00107   static dd_type zero();
00108 
00110   static dd_type one();
00111 
00113   static size_type nVariables();
00114 
00115   typedef BoolePolyRing ring_type;
00116 
00117   typedef CDynamicOrderBase order_type;
00118   static ring_type& ring(){
00119       return active_ring;
00120   }
00121 
00122   static manager_type& manager();
00123   static order_type& ordering();
00125   static void setVariableName(idx_type idx, vartext_type varname);
00126 
00128   static vartext_type getVariableName(idx_type idx);
00129 
00131 
00132   static block_iterator blockBegin();
00133   static block_iterator blockEnd();
00134   static void appendBlock(idx_type idx);
00135   static void clearBlocks();
00136   
00137   static idx_type lastBlockStart();
00139 
00141   static void changeOrdering(ordercode_type code);
00142 
00143   static void printInfo();
00144 
00145   static void set(ring_type& theRing);
00146 
00147 
00148 protected:
00149 
00150   
00151 };
00152 
00154 
00155 END_NAMESPACE_PBORI
00156 
00157 #endif // of #ifndef BooleEnv_h_

Generated on Thu Oct 21 2010 02:56:31 for PolyBoRi by  doxygen 1.7.1