PolyBoRi
BooleEnv.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
31 //*****************************************************************************
32 
33 // load PolyBoRi settings
34 # include "pbori_defs.h"
35 #include <vector>
36 
37 #ifndef BooleEnv_h_
38 #define BooleEnv_h_
39 
40 
42 
43 
44 class BoolePolyRing;
45 extern BoolePolyRing active_ring;
46 class CDynamicOrderBase;
47 
55 class BooleEnv:
57  public CTypes::auxtypes_type {
58 
59  public:
60  //-------------------------------------------------------------------------
61  // types definitions
62  //-------------------------------------------------------------------------
63 
65  typedef BooleEnv self;
66 
69 
71 
79 
81  typedef std::vector<idx_type> block_idx_type;
82 
84  typedef block_idx_type::const_iterator block_iterator;
85 
86  //-------------------------------------------------------------------------
87  // constructors and destructor
88  //-------------------------------------------------------------------------
89 
91  using base::ordercodes;
92 
94  static dd_type variable(idx_type idx);
95 
97  static dd_type persistentVariable(idx_type idx);
98 
100  static ordercode_type getOrderCode();
101 
104  static ordercode_type getBaseOrderCode();
105 
107  static dd_type zero();
108 
110  static dd_type one();
111 
113  static size_type nVariables();
114 
116 
117  typedef CDynamicOrderBase order_type;
118  static ring_type& ring(){
119  return active_ring;
120  }
121 
122  static manager_type& manager();
123  static order_type& ordering();
125  static void setVariableName(idx_type idx, vartext_type varname);
126 
128  static vartext_type getVariableName(idx_type idx);
129 
131 
132  static block_iterator blockBegin();
133  static block_iterator blockEnd();
134  static void appendBlock(idx_type idx);
135  static void clearBlocks();
136 
137  static idx_type lastBlockStart();
139 
141  static void changeOrdering(ordercode_type code);
142 
143  static void printInfo();
144 
145  static void set(ring_type& theRing);
146 
147 
148 protected:
149 
150 
151 };
152 
154 
156 
157 #endif // of #ifndef BooleEnv_h_