patrick
/
plasp
Archived
1
0
Fork 0
This repository has been archived on 2023-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
plasp/include/plasp/pddl/expressions/Predicate.h

51 lines
985 B
C++

#ifndef __PLASP__PDDL__EXPRESSIONS__PREDICATE_H
#define __PLASP__PDDL__EXPRESSIONS__PREDICATE_H
#include <plasp/pddl/Expression.h>
namespace plasp
{
namespace pddl
{
namespace expressions
{
////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Predicate
//
////////////////////////////////////////////////////////////////////////////////////////////////////
class Predicate: public Expression
{
public:
static PredicatePointer parse(std::string name, Context &context,
const Variables &parameters);
public:
void accept(ExpressionVisitor &expressionVisitor) const override;
const std::string &name() const;
const Expressions &arguments() const;
bool isDeclared() const;
private:
Predicate();
void setDeclared();
bool m_isDeclared;
std::string m_name;
Expressions m_arguments;
};
////////////////////////////////////////////////////////////////////////////////////////////////////
}
}
}
#endif