#ifndef __PLASP__SAS__PREDICATE_H #define __PLASP__SAS__PREDICATE_H #include #include #include #include #include namespace plasp { namespace sas { //////////////////////////////////////////////////////////////////////////////////////////////////// // // Predicate // //////////////////////////////////////////////////////////////////////////////////////////////////// class Predicate { public: static Predicate fromSAS(tokenize::Tokenizer<> &tokenizer); using Arguments = std::vector; public: void printAsSAS(colorlog::ColorStream &stream) const; void printAsASP(colorlog::ColorStream &stream) const; const std::string &name() const; const Arguments &arguments() const; private: std::string m_name; std::vector m_arguments; }; //////////////////////////////////////////////////////////////////////////////////////////////////// } } #endif