GCC Code Coverage Report
Directory: . Exec Total Coverage
File: src/theory/assertion.h Lines: 5 6 83.3 %
Date: 2021-03-23 Branches: 0 0 0.0 %

Line Exec Source
1
/*********************                                                        */
2
/*! \file assertion.h
3
 ** \verbatim
4
 ** Top contributors (to current version):
5
 **   Tim King, Andrew Reynolds, Mathias Preiner
6
 ** This file is part of the CVC4 project.
7
 ** Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
8
 ** in the top-level source directory and their institutional affiliations.
9
 ** All rights reserved.  See the file COPYING in the top-level source
10
 ** directory for licensing information.\endverbatim
11
 **
12
 ** \brief The representation of the assertions sent to theories.
13
 **
14
 ** The representation of the assertions sent to theories.
15
 **/
16
17
#include "cvc4_private.h"
18
19
#ifndef CVC4__THEORY__ASSERTION_H
20
#define CVC4__THEORY__ASSERTION_H
21
22
#include "expr/node.h"
23
24
namespace CVC4 {
25
namespace theory {
26
27
/** Information about an assertion for the theories. */
28
74989960
struct Assertion {
29
  /** The assertion expression. */
30
  const Node d_assertion;
31
32
  /** Has this assertion been preregistered with this theory. */
33
  const bool d_isPreregistered;
34
35
15156934
  Assertion(TNode assertion, bool isPreregistered)
36
15156934
      : d_assertion(assertion), d_isPreregistered(isPreregistered)
37
  {
38
15156934
  }
39
40
  /** Convert the assertion to a TNode. */
41
3120202
  operator TNode() const { return d_assertion; }
42
43
  /** Convert the assertion to a Node. */
44
  operator Node() const { return d_assertion; }
45
46
}; /* struct Assertion */
47
48
std::ostream& operator<<(std::ostream& out, const Assertion& a);
49
50
}/* CVC4::theory namespace */
51
}/* CVC4 namespace */
52
53
#endif /* CVC4__THEORY__ASSERTION_H */