pddl_planner
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
pddl_planner::representation::Expression Class Reference

Representation of (LISP) expressions. More...

#include <Domain.hpp>

Public Member Functions

 Expression (const Label &label="")
 
 Expression (const Expression &other)
 
virtual ~Expression ()
 
 Expression (const Label &label, const Expression &arg0, const Expression &arg1=Expression(), const Expression &arg2=Expression(), const Expression &arg3=Expression(), const Expression &arg4=Expression(), const Expression &arg5=Expression(), const Expression &arg6=Expression(), const Expression &arg7=Expression(), const Expression &arg8=Expression(), const Expression &arg9=Expression(), const Expression &arg10=Expression())
 
 Expression (const Label &label, const Label &arg0, const Label &arg1="", const Label &arg2="")
 
 Expression (Quantor quantor, const TypedItem &typedItem, const Expression &e)
 
void addParameter (const Label &e)
 
void addParameter (const Expression &e)
 
bool isAtomic () const
 
bool isNull () const
 
Expressionoperator= (const Expression &other)
 
bool operator== (const Expression &other) const
 
std::string toLISP () const
 

Static Public Member Functions

static bool isQuantor (const Label &label)
 
static Expression fromString (const std::string &expressionString)
 

Public Attributes

Label label
 
ExpressionPtrList parameters
 
TypedItem typedItem
 

Detailed Description

Representation of (LISP) expressions.

Expression are needed to handle addition of actions, e.g., as part of preconditions or effects

Constructor & Destructor Documentation

◆ Expression() [1/5]

pddl_planner::representation::Expression::Expression ( const Label label = "")

◆ Expression() [2/5]

pddl_planner::representation::Expression::Expression ( const Expression other)

◆ ~Expression()

pddl_planner::representation::Expression::~Expression ( )
virtual

◆ Expression() [3/5]

pddl_planner::representation::Expression::Expression ( const Label label,
const Expression arg0,
const Expression arg1 = Expression(),
const Expression arg2 = Expression(),
const Expression arg3 = Expression(),
const Expression arg4 = Expression(),
const Expression arg5 = Expression(),
const Expression arg6 = Expression(),
const Expression arg7 = Expression(),
const Expression arg8 = Expression(),
const Expression arg9 = Expression(),
const Expression arg10 = Expression() 
)

◆ Expression() [4/5]

pddl_planner::representation::Expression::Expression ( const Label label,
const Label arg0,
const Label arg1 = "",
const Label arg2 = "" 
)

◆ Expression() [5/5]

pddl_planner::representation::Expression::Expression ( Quantor  quantor,
const TypedItem typedItem,
const Expression e 
)

Member Function Documentation

◆ addParameter() [1/2]

void pddl_planner::representation::Expression::addParameter ( const Label e)

Add a parameter to this expression – this parameter is a simple label, but no expression

◆ addParameter() [2/2]

void pddl_planner::representation::Expression::addParameter ( const Expression e)

◆ fromString()

Expression pddl_planner::representation::Expression::fromString ( const std::string &  expressionString)
static

Get and expression from a given string

Returns
Expression

◆ isAtomic()

bool pddl_planner::representation::Expression::isAtomic ( ) const
inline

◆ isNull()

bool pddl_planner::representation::Expression::isNull ( ) const
inline

◆ isQuantor()

bool pddl_planner::representation::Expression::isQuantor ( const Label label)
static

◆ operator=()

Expression & pddl_planner::representation::Expression::operator= ( const Expression other)

Assign operator

◆ operator==()

bool pddl_planner::representation::Expression::operator== ( const Expression other) const

Equals operator

Returns
true if two expressions are equivalent, false otherwise

◆ toLISP()

std::string pddl_planner::representation::Expression::toLISP ( ) const

Convert expression to LISP representation

Returns
LISP expression

Member Data Documentation

◆ label

Label pddl_planner::representation::Expression::label

◆ parameters

ExpressionPtrList pddl_planner::representation::Expression::parameters

◆ typedItem

TypedItem pddl_planner::representation::Expression::typedItem

The documentation for this class was generated from the following files: