diff options
author | Morgan Deters <mdeters@gmail.com> | 2011-04-10 00:44:20 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2011-04-10 00:44:20 +0000 |
commit | 969b144a5f9630d646afdf0ff0a053df38d0ed1a (patch) | |
tree | 92eb38ad161abfe3af979a86285549168d118c5e /src/expr/expr_stream.h | |
parent | 8495ee8e7de4a7e472d72cfb20290940c59794e3 (diff) |
merge from replay branch
Diffstat (limited to 'src/expr/expr_stream.h')
-rw-r--r-- | src/expr/expr_stream.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/expr/expr_stream.h b/src/expr/expr_stream.h new file mode 100644 index 000000000..a6b99fb73 --- /dev/null +++ b/src/expr/expr_stream.h @@ -0,0 +1,47 @@ +/********************* */ +/*! \file expr_stream.h + ** \verbatim + ** Original author: mdeters + ** Major contributors: none + ** Minor contributors (to current version): none + ** This file is part of the CVC4 prototype. + ** Copyright (c) 2009, 2010 The Analysis of Computer Systems Group (ACSys) + ** Courant Institute of Mathematical Sciences + ** New York University + ** See the file COPYING in the top-level source directory for licensing + ** information.\endverbatim + ** + ** \brief A stream interface for expressions + ** + ** A stream interface for expressions. + **/ + +#include "cvc4_public.h" + +#ifndef __CVC4__EXPR_STREAM_H +#define __CVC4__EXPR_STREAM_H + +#include "expr/expr.h" + +namespace CVC4 { + +/** + * A pure-virtual stream interface for expressions. Can be used to + * communicate streams of expressions between different parts of CVC4. + */ +class CVC4_PUBLIC ExprStream { +public: + /** Virtual destructor; this implementation does nothing. */ + virtual ~ExprStream() {} + + /** + * Get the next expression in the stream (advancing the stream + * pointer as a side effect.) + */ + virtual Expr nextExpr() = 0; +};/* class ExprStream */ + +}/* CVC4 namespace */ + +#endif /* __CVC4__EXPR_STREAM_H */ + |