Go to the documentation of this file.00001 #ifndef actasp_AspAtom_h__guard
00002 #define actasp_AspAtom_h__guard
00003
00004 #include <string>
00005 #include <stdexcept>
00006 #include <vector>
00007
00008 namespace actasp {
00009
00010
00011 class AspAtom {
00012 public:
00013
00014 AspAtom(const std::string& formula) throw ();
00015
00016 unsigned int arity() const throw();
00017
00018 std::string getName() const throw();
00019
00020 virtual std::vector<std::string> getParameters() const throw();
00021
00022 virtual bool operator<(const AspAtom& other) const throw() {return atom < other.atom;}
00023 virtual bool operator==(const AspAtom& other) const throw(){return atom == other.atom;};
00024
00025 virtual std::string toString() const throw() {return atom;}
00026
00027 virtual operator std::string() const { return this->toString(); }
00028
00029 virtual ~AspAtom() {}
00030
00031 private:
00032 std::string atom;
00033 };
00034
00035
00036 }
00037 #endif