CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
smt2_format.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module:
4
5Author: Daniel Kroening, kroening@kroening.com
6
7\*******************************************************************/
8
9#ifndef CPROVER_SOLVERS_SMT2_SMT2_FORMAT_H
10#define CPROVER_SOLVERS_SMT2_SMT2_FORMAT_H
11
12#include <iosfwd>
13
14class exprt;
15class typet;
16
17template <typename T>
19{
20 explicit smt2_format_containert(const T &_o) : o(_o)
21 {
22 }
23
24 const T &o;
25};
26
27template <typename T>
29{
31}
32
33template <typename T>
34static inline std::ostream &
35operator<<(std::ostream &out, const smt2_format_containert<T> &c)
36{
37 return smt2_format_rec(out, c.o);
38}
39
40std::ostream &smt2_format_rec(std::ostream &, const exprt &);
41std::ostream &smt2_format_rec(std::ostream &, const typet &);
42
43#endif // CPROVER_SOLVERS_SMT2_SMT2_FORMAT_H
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
Base class for all expressions.
Definition expr.h:56
The type of an expression, extends irept.
Definition type.h:29
static smt2_format_containert< T > smt2_format(const T &_o)
Definition smt2_format.h:28
static std::ostream & operator<<(std::ostream &out, const smt2_format_containert< T > &c)
Definition smt2_format.h:35
std::ostream & smt2_format_rec(std::ostream &, const exprt &)
smt2_format_containert(const T &_o)
Definition smt2_format.h:20