00001 #ifndef actasp_AspRule_h__guard 00002 #define actasp_AspRule_h__guard 00003 00004 #include <actasp/AspFluent.h> 00005 00006 #include <vector> 00007 00008 namespace actasp { 00009 00010 00011 struct AspRule { 00012 00013 AspRule() : head(), body() {} 00014 00015 //implicit cast from fluent to rule 00016 AspRule(const AspFluent& fluent) throw() { 00017 body.push_back(fluent); 00018 } 00019 00020 AspRule& operator<< (AspFluent fluent) throw (){ 00021 body.push_back(fluent); 00022 return *this; 00023 } 00024 00025 std::vector<AspFluent> head; 00026 std::vector<AspFluent> body; 00027 00028 }; 00029 00030 } 00031 #endif