1 |
|
#include "cvc5_private_library.h" |
2 |
|
|
3 |
|
#ifndef CVC5__OPTIONS__OUTPUTC_H |
4 |
|
#define CVC5__OPTIONS__OUTPUTC_H |
5 |
|
|
6 |
|
#include <iostream> |
7 |
|
|
8 |
|
#include "cvc5_export.h" |
9 |
|
#include "base/output.h" |
10 |
|
#include "options/base_options.h" |
11 |
|
|
12 |
|
namespace cvc5 { |
13 |
|
|
14 |
|
class OutputC |
15 |
|
{ |
16 |
|
public: |
17 |
9783 |
explicit OutputC(std::ostream* os) : d_os(os) {} |
18 |
|
|
19 |
|
Cvc5ostream operator()(const options::OutputTag tag) const; |
20 |
|
|
21 |
|
bool isOn(const options::OutputTag tag) const; |
22 |
|
|
23 |
|
private: |
24 |
|
std::ostream* d_os; |
25 |
|
|
26 |
|
}; /* class OutputC */ |
27 |
|
|
28 |
|
extern OutputC OutputChannel CVC5_EXPORT; |
29 |
|
|
30 |
|
#ifdef CVC5_MUZZLE |
31 |
|
#define Output ::cvc5::__cvc5_true() ? ::cvc5::nullStream : ::cvc5::OutputChannel |
32 |
|
#else /* CVC5_MUZZLE */ |
33 |
|
#define Output ::cvc5::OutputChannel |
34 |
|
#endif /* CVC5_MUZZLE */ |
35 |
|
|
36 |
|
} |
37 |
|
|
38 |
|
#endif /* CVC5__OPTIONS__OUTPUTC_H */ |