update copyrights
[cvc5.git] / src / theory / interrupted.h
1 /********************* */
2 /*! \file interrupted.h
3 ** \verbatim
4 ** Original author: Morgan Deters <mdeters@cs.nyu.edu>
5 ** Major contributors: none
6 ** Minor contributors (to current version): none
7 ** This file is part of the CVC4 project.
8 ** Copyright (c) 2009-2013 New York University and The University of Iowa
9 ** See the file COPYING in the top-level source directory for licensing
10 ** information.\endverbatim
11 **
12 ** \brief An exception signaling that a Theory should immediately
13 ** stop performing processing
14 **
15 ** An exception signaling that a Theory should immediately stop
16 ** performing processing and relinquish control to its caller (e.g.,
17 ** in a parallel environment). A Theory might be interrupted if it
18 ** calls into its CVC4::theory::OutputChannel, and it should only
19 ** catch this exception to perform emergency repair of any invariants
20 ** it must re-establish. Further, if this exception is caught by a
21 ** Theory, the Theory should rethrow the same exception (via "throw;"
22 ** in the exception block) rather than return, as the Interrupted
23 ** instance might contain additional information needed for the
24 ** proper management of CVC4 components.
25 **/
26
27 #include "cvc4_private.h"
28
29 #ifndef __CVC4__THEORY__INTERRUPTED_H
30 #define __CVC4__THEORY__INTERRUPTED_H
31
32 #include "util/exception.h"
33
34 namespace CVC4 {
35 namespace theory {
36
37 class Interrupted : public CVC4::Exception {
38 };/* class Interrupted */
39
40 }/* CVC4::theory namespace */
41 }/* CVC4 namespace */
42
43 #endif /* __CVC4__THEORY__INTERRUPTED_H */