Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

AIKB.h

00001 
00002 //      Copyright (C) 2004 Dylan Blair
00003 //
00004 //      email: dblair@alumni.cs.utexas.edu
00005 //
00006 //      This library is free software; you can redistribute it and/or
00007 //      modify it under the terms of the GNU Lesser General Public
00008 //      License as published by the Free Software Foundation; either
00009 //      version 2.1 of the License, or (at your option) any later version.
00010 //
00011 //      This library is distributed in the hope that it will be useful,
00012 //      but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 //      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 //      Lesser General Public License for more details.
00015 //
00016 //      You should have received a copy of the GNU Lesser General Public
00017 //      License along with this library; if not, write to the Free Software
00018 //      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00020 
00021 #pragma warning(disable:4786) //get rid of MSVC++ warning about long names for STL
00022 
00023 #ifndef AIKB_H
00024 #define AIKB_H
00025 
00026 #include "AIKBSplayTree.h"
00027 
00032 class AIKB {
00033         const int exceptionsmax;
00034         AIKBSplayTree theexceptions;
00035 
00036 public:
00037         std::vector<AIException> reserve; 
00038 
00039         AIKB();
00040 
00047         AIKB(const int exceptionsmax_, const int reserve_, int paramssizeinit_);
00048 
00049         bool  addEntry(AIException anexception_, bool disallow_if_prem_name_exists_=false);
00050 
00057         bool  addEntry(AIPremise apremise_, bool disallow_if_prem_name_exists_=false);
00058 
00064         void  removeEntry(AIPremise apremise_, bool all_, int num_of_params_to_check_=-1); 
00065 
00069         int   size() const;
00070 
00071         const std::vector<AIException>& find(const AIException& anexception_);
00072 
00076         int   findStateScore(int stateID_) const;
00077 };
00078 
00079 #endif //AIKB_H

Generated on Sun Apr 11 05:05:55 2004 for FSM_API by doxygen 1.3.6