summaryrefslogtreecommitdiff
path: root/src/options/outputc.h
blob: 647b891db5c18b8b76fa3940ec6c72d1c3d94c0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "cvc5_private_library.h"

#ifndef CVC5__OPTIONS__OUTPUTC_H
#define CVC5__OPTIONS__OUTPUTC_H

#include <iostream>

#include "cvc5_export.h"
#include "base/output.h"
#include "options/base_options.h"

namespace cvc5 {

class OutputC
{
 public:
  explicit OutputC(std::ostream* os) : d_os(os) {}

  Cvc5ostream operator()(const options::OutputTag tag) const;

  bool isOn(const options::OutputTag tag) const;

 private:
  std::ostream* d_os;

}; /* class OutputC */

extern OutputC OutputChannel CVC5_EXPORT;

#ifdef CVC5_MUZZLE
#define Output ::cvc5::__cvc5_true() ? ::cvc5::nullStream : ::cvc5::OutputChannel
#else /* CVC5_MUZZLE */
#define Output ::cvc5::OutputChannel
#endif /* CVC5_MUZZLE */

}

#endif /* CVC5__OPTIONS__OUTPUTC_H */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback