CVC3
|
00001 /*****************************************************************************/ 00002 /*! 00003 * \file expr_op.cpp 00004 * 00005 * Author: Sergey Berezin 00006 * 00007 * Created: Fri Feb 7 15:29:42 2003 00008 * 00009 * <hr> 00010 * 00011 * License to use, copy, modify, sell and/or distribute this software 00012 * and its documentation for any purpose is hereby granted without 00013 * royalty, subject to the terms and conditions defined in the \ref 00014 * LICENSE file provided with this distribution. 00015 * 00016 * <hr> 00017 * 00018 */ 00019 /*****************************************************************************/ 00020 00021 #include "expr_op.h" 00022 00023 using namespace std; 00024 00025 namespace CVC3 { 00026 00027 Op::Op(ExprManager* em, const Op& op) : d_kind(op.d_kind), d_expr() { 00028 if (!op.d_expr.isNull()) d_expr = em->rebuild(op.d_expr); 00029 } 00030 00031 Op& Op::operator=(const Op& op) { 00032 if(&op == this) return *this; // Self-assignment 00033 d_kind = op.d_kind; 00034 d_expr = op.d_expr; 00035 return *this; 00036 } 00037 00038 string Op::toString() const { 00039 ostringstream ss; 00040 ss << *this; 00041 return ss.str(); 00042 } 00043 00044 } // end of namespace CVC3