notifylist.h

Go to the documentation of this file.
00001 /*****************************************************************************/
00002 /*!
00003  * \file notifylist.h
00004  * 
00005  * Author: Clark Barrett
00006  * 
00007  * Created: Mon Jan 20 13:52:19 2003
00008  *
00009  * <hr>
00010  * Copyright (C) 2003 by the Board of Trustees of Leland Stanford
00011  * Junior University and by New York University. 
00012  *
00013  * License to use, copy, modify, sell and/or distribute this software
00014  * and its documentation for any purpose is hereby granted without
00015  * royalty, subject to the terms and conditions defined in the \ref
00016  * LICENSE file provided with this distribution.  In particular:
00017  *
00018  * - The above copyright notice and this permission notice must appear
00019  * in all copies of the software and related documentation.
00020  *
00021  * - THE SOFTWARE IS PROVIDED "AS-IS", WITHOUT ANY WARRANTIES,
00022  * EXPRESSED OR IMPLIED.  USE IT AT YOUR OWN RISK.
00023  * 
00024  * <hr>
00025  * 
00026  */
00027 /*****************************************************************************/
00028 
00029 #ifndef _cvcl__include__notifylist_h_ 
00030 #define _cvcl__include__notifylist_h_  
00031 
00032 #include "expr.h"
00033 #include "cdlist.h"
00034 
00035 namespace CVCL {
00036 
00037   class Theory;
00038 
00039 class NotifyList {
00040   CDList<Theory*> d_tlist;
00041   CDList<Expr> d_elist;
00042 
00043 public:
00044   NotifyList(Context* c) : d_tlist(c), d_elist(c) {
00045     IF_DEBUG(d_elist.setName("CDList[NotifyList]"));
00046   }
00047   unsigned size() const { return d_tlist.size(); }
00048   void add(Theory* t, const Expr& e) { d_tlist.push_back(t); d_elist.push_back(e); }
00049   Theory* getTheory(int i) const { return d_tlist[i]; }
00050   Expr getExpr(int i) const { return d_elist[i]; }
00051 };
00052 
00053 }
00054 
00055 #endif

Generated on Thu Apr 13 16:57:32 2006 for CVC Lite by  doxygen 1.4.4