39 lines
953 B
C++
39 lines
953 B
C++
#ifndef __PLASP__PDDL__EXPRESSION_CONTEXT_H
|
|
#define __PLASP__PDDL__EXPRESSION_CONTEXT_H
|
|
|
|
#include <plasp/pddl/Expression.h>
|
|
#include <plasp/pddl/Requirement.h>
|
|
|
|
namespace plasp
|
|
{
|
|
namespace pddl
|
|
{
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// ExpressionContext
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
class ExpressionContext
|
|
{
|
|
public:
|
|
ExpressionContext(Domain &domain, expressions::Variables ¶meters);
|
|
ExpressionContext(Domain &domain, Problem *problem, expressions::Variables ¶meters);
|
|
|
|
bool hasRequirement(Requirement::Type requirementType) const;
|
|
void checkRequirement(Requirement::Type requirementType) const;
|
|
|
|
Domain &domain;
|
|
Problem *problem;
|
|
|
|
expressions::Variables ¶meters;
|
|
};
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
}
|
|
}
|
|
|
|
#endif
|