Go to the documentation of this file.00001 #ifndef actasp_PartialPolicy_h__guard
00002 #define actasp_PartialPolicy_h__guard
00003
00004
00005 #include <actasp/AspFluent.h>
00006
00007 #include <set>
00008 #include <stdexcept>
00009
00010 namespace actasp {
00011 class AnswerSet;
00012
00013 struct PartialPolicy {
00014
00015 virtual ActionSet actions(const std::set<AspFluent>& state) const throw() = 0;
00016
00017 virtual void merge(const AnswerSet& plan) throw(std::logic_error) = 0;
00018 virtual void merge(const PartialPolicy* otherPolicy) = 0;
00019
00020 virtual bool empty() const throw() = 0;
00021
00022 virtual ~PartialPolicy() {}
00023
00024 };
00025
00026 }
00027
00028 #endif