GCC Code Coverage Report
Directory: . Exec Total Coverage
File: src/theory/ee_setup_info.h Lines: 4 4 100.0 %
Date: 2021-03-23 Branches: 0 0 0.0 %

Line Exec Source
1
/*********************                                                        */
2
/*! \file ee_setup_info.h
3
 ** \verbatim
4
 ** Top contributors (to current version):
5
 **   Andrew Reynolds
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 Setup information for an equality engine.
13
 **/
14
15
#include "cvc4_private.h"
16
17
#ifndef CVC4__THEORY__EE_SETUP_INFO__H
18
#define CVC4__THEORY__EE_SETUP_INFO__H
19
20
#include <string>
21
22
namespace CVC4 {
23
namespace theory {
24
25
namespace eq {
26
class EqualityEngineNotify;
27
}
28
29
/**
30
 * This is a helper class that encapsulates instructions for how a Theory
31
 * wishes to initialize and setup notifications with its official equality
32
 * engine, e.g. via a notification class (eq::EqualityEngineNotify).
33
 *
34
 * This includes (at a basic level) the arguments to the equality engine
35
 * constructor that theories may wish to modify. This information is determined
36
 * by the Theory during needsEqualityEngine.
37
 */
38
134955
struct EeSetupInfo
39
{
40
134955
  EeSetupInfo()
41
134955
      : d_notify(nullptr), d_constantsAreTriggers(true), d_useMaster(false)
42
  {
43
134955
  }
44
  /** The notification class of the theory */
45
  eq::EqualityEngineNotify* d_notify;
46
  /** The name of the equality engine */
47
  std::string d_name;
48
  /** Constants are triggers */
49
  bool d_constantsAreTriggers;
50
  /**
51
   * Whether we want our state to use the master equality engine. This should
52
   * be true exclusively for the theory of quantifiers.
53
   */
54
  bool d_useMaster;
55
};
56
57
}  // namespace theory
58
}  // namespace CVC4
59
60
#endif /* CVC4__THEORY__EE_SETUP_INFO__H */