blob: 6c59146e1b60dc9df5469edf5f78ffb7f4a3017c (
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
39
40
41
42
43
|
/********************* */
/*! \file interrupted.h
** \verbatim
** Original author: Morgan Deters
** Major contributors: none
** Minor contributors (to current version): none
** This file is part of the CVC4 project.
** Copyright (c) 2009-2014 New York University and The University of Iowa
** See the file COPYING in the top-level source directory for licensing
** information.\endverbatim
**
** \brief An exception signaling that a Theory should immediately
** stop performing processing
**
** An exception signaling that a Theory should immediately stop
** performing processing and relinquish control to its caller (e.g.,
** in a parallel environment). A Theory might be interrupted if it
** calls into its CVC4::theory::OutputChannel, and it should only
** catch this exception to perform emergency repair of any invariants
** it must re-establish. Further, if this exception is caught by a
** Theory, the Theory should rethrow the same exception (via "throw;"
** in the exception block) rather than return, as the Interrupted
** instance might contain additional information needed for the
** proper management of CVC4 components.
**/
#include "cvc4_private.h"
#ifndef __CVC4__THEORY__INTERRUPTED_H
#define __CVC4__THEORY__INTERRUPTED_H
#include "base/exception.h"
namespace CVC4 {
namespace theory {
class Interrupted : public CVC4::Exception {
};/* class Interrupted */
}/* CVC4::theory namespace */
}/* CVC4 namespace */
#endif /* __CVC4__THEORY__INTERRUPTED_H */
|