GCC Code Coverage Report
Directory: . Exec Total Coverage
File: src/prop/bv_sat_solver_notify.h Lines: 2 2 100.0 %
Date: 2021-03-22 Branches: 0 0 0.0 %

Line Exec Source
1
/*********************                                                        */
2
/*! \file bv_sat_solver_notify.h
3
 ** \verbatim
4
 ** Top contributors (to current version):
5
 **   Liana Hadarean, Alex Ozdemir, 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 interface for things that want to recieve notification from the
13
 **        SAT solver
14
 **/
15
16
#include "cvc4_private.h"
17
18
#ifndef CVC4__PROP__BVSATSOLVERNOTIFY_H
19
#define CVC4__PROP__BVSATSOLVERNOTIFY_H
20
21
#include "prop/sat_solver_types.h"
22
#include "util/resource_manager.h"
23
24
namespace CVC4 {
25
namespace prop {
26
27
8975
class BVSatSolverNotify {
28
public:
29
30
8972
  virtual ~BVSatSolverNotify() {};
31
32
  /**
33
   * If the notify returns false, the solver will break out of whatever it's currently doing
34
   * with an "unknown" answer.
35
   */
36
  virtual bool notify(SatLiteral lit) = 0;
37
38
  /**
39
   * Notify about a learnt clause.
40
   */
41
  virtual void notify(SatClause& clause) = 0;
42
  virtual void spendResource(ResourceManager::Resource r) = 0;
43
  virtual void safePoint(ResourceManager::Resource r) = 0;
44
45
};/* class BVSatSolverInterface::Notify */
46
47
}
48
}
49
50
#endif