/*****************************************************************************/
/*!
* \file notifylist.h
*
* Author: Clark Barrett
*
* Created: Mon Jan 20 13:52:19 2003
*
*
*
* License to use, copy, modify, sell and/or distribute this software
* and its documentation for any purpose is hereby granted without
* royalty, subject to the terms and conditions defined in the \ref
* LICENSE file provided with this distribution.
*
*
*
*/
/*****************************************************************************/
#ifndef _cvc3__include__notifylist_h_
#define _cvc3__include__notifylist_h_
#include "expr.h"
#include "cdlist.h"
namespace CVC3 {
class Theory;
class NotifyList {
CDList d_tlist;
CDList d_elist;
public:
NotifyList(Context* c) : d_tlist(c), d_elist(c) {
IF_DEBUG(d_elist.setName("CDList[NotifyList]"));
}
unsigned size() const { return d_tlist.size(); }
void add(Theory* t, const Expr& e) { d_tlist.push_back(t); d_elist.push_back(e); }
Theory* getTheory(int i) const { return d_tlist[i]; }
Expr getExpr(int i) const { return d_elist[i]; }
};
}
#endif