decision_engine_dfs.h

Go to the documentation of this file.
00001 /*****************************************************************************/
00002 /*!
00003  * \file decision_engine_dfs.h
00004  * 
00005  * Author: Clark Barrett
00006  * 
00007  * Created: Fri Jul 11 13:04:25 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__search__decision_engine_dfs_h_
00030 #define _cvcl__search__decision_engine_dfs_h_
00031 
00032 #include "decision_engine.h"
00033 
00034 namespace CVCL {
00035 
00036 /*****************************************************************************/
00037 /*!
00038  *\anchor de_dfs
00039  *\class DecisionEngineDFS
00040  *\brief Decision Engine for use with the Search Engine
00041  *\ingroup DE
00042  *
00043  * Author: Clark Barrett
00044  *
00045  * Created: Fri Jul 11 16:34:22 2003
00046  *
00047  */
00048 /*****************************************************************************/
00049 class DecisionEngineDFS : public DecisionEngine {
00050 
00051 protected:
00052   virtual bool isBetter(const Expr& e1, const Expr& e2);
00053 
00054 public:
00055   //! Constructor
00056   DecisionEngineDFS(TheoryCore* core, SearchImplBase* se);
00057   virtual ~DecisionEngineDFS() { }
00058 
00059   /*! @brief Find the next splitter.  \return Null Expr if no
00060     splitter is found. */
00061   virtual Expr findSplitter(const Expr& e);
00062 
00063   //! Search should call this when it derives 'false'
00064   virtual void goalSatisfied();
00065 
00066 };
00067 
00068 }
00069 
00070 #endif

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