mirror of
				https://github.com/Z3Prover/z3
				synced 2025-10-30 19:22:28 +00:00 
			
		
		
		
	First step towards explaining single bits
This commit is contained in:
		
							parent
							
								
									d5bc4b84a7
								
							
						
					
					
						commit
						ec06027515
					
				
					 8 changed files with 418 additions and 6 deletions
				
			
		|  | @ -132,8 +132,9 @@ class tbv_ref { | |||
|     tbv_manager& mgr; | ||||
|     tbv* d; | ||||
| public: | ||||
|     tbv_ref(tbv_manager& mgr):mgr(mgr),d(nullptr) {} | ||||
|     tbv_ref(tbv_manager& mgr, tbv* d):mgr(mgr),d(d) {} | ||||
|     tbv_ref(tbv_manager& mgr) : mgr(mgr), d(nullptr) {} | ||||
|     tbv_ref(tbv_manager& mgr, tbv* d) : mgr(mgr), d(d) {} | ||||
|     tbv_ref(tbv_ref&& d) : mgr(d.mgr), d(d.detach()) {} | ||||
|     ~tbv_ref() { | ||||
|         if (d) mgr.deallocate(d); | ||||
|     } | ||||
|  | @ -144,8 +145,11 @@ public: | |||
|     } | ||||
|     tbv& operator*() { return *d; } | ||||
|     tbv* operator->() { return d; } | ||||
|     tbv* get() { return d; } | ||||
|     tbit operator[](unsigned idx) const { return (*d)[idx]; } | ||||
|     tbv* get() const { return d; } | ||||
|     tbv* detach() { tbv* result = d; d = nullptr; return result; } | ||||
|     tbv_manager& manager() const { return mgr; } | ||||
|     unsigned num_tbits() const { return mgr.num_tbits(); } | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue