CVC3
pretty_printer.h
Go to the documentation of this file.
1 /*****************************************************************************/
2 /*!
3  * \file pretty_printer.h
4  *
5  * Author: Sergey Berezin
6  *
7  * Created: Mon Jun 16 12:31:08 2003
8  *
9  * <hr>
10  *
11  * License to use, copy, modify, sell and/or distribute this software
12  * and its documentation for any purpose is hereby granted without
13  * royalty, subject to the terms and conditions defined in the \ref
14  * LICENSE file provided with this distribution.
15  *
16  * <hr>
17  *
18  * Defines an abstract class PrettyPrinter which connects the
19  * theory-specific pretty-printers with ExprManager.
20  *
21  */
22 /*****************************************************************************/
23 
24 #ifndef _cvc3__pretty_printer_h_
25 #define _cvc3__pretty_printer_h_
26 
27 namespace CVC3 {
28 
29  class Expr;
30  class ExprStream;
31  //! Abstract API to a pretty-printer for Expr
32  /*! \ingroup PrettyPrinting */
33  class PrettyPrinter {
34  public:
35  //! Default constructor
37  //! Virtual destructor
38  virtual ~PrettyPrinter() { }
39  //! The pretty-printer which subclasses must implement
40  virtual ExprStream& print(ExprStream& os, const Expr& e) = 0;
41  };
42 
43 }
44 
45 #endif