CBMC
bv_dimacs.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Writing DIMACS Files
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_SOLVERS_FLATTENING_BV_DIMACS_H
13 #define CPROVER_SOLVERS_FLATTENING_BV_DIMACS_H
14 
15 #include "bv_pointers.h"
16 
17 class bv_dimacst : public bv_pointerst
18 {
19 public:
21  const namespacet &_ns,
22  propt &_prop,
24  const std::string &_filename)
25  : bv_pointerst(_ns, _prop, message_handler), filename(_filename)
26  {
27  }
28 
29  virtual ~bv_dimacst()
30  {
31  write_dimacs();
32  }
33 
34 protected:
35  const std::string filename;
36  bool write_dimacs();
37  bool write_dimacs(std::ostream &);
38 };
39 
40 #endif // CPROVER_SOLVERS_FLATTENING_BV_DIMACS_H
message_handlert & message_handler
Definition: arrays.h:58
bool write_dimacs()
Definition: bv_dimacs.cpp:19
const std::string filename
Definition: bv_dimacs.h:35
bv_dimacst(const namespacet &_ns, propt &_prop, message_handlert &message_handler, const std::string &_filename)
Definition: bv_dimacs.h:20
virtual ~bv_dimacst()
Definition: bv_dimacs.h:29
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition: namespace.h:94
TO_BE_DOCUMENTED.
Definition: prop.h:25