5 #ifndef BALL_KERNEL_EXPRESSION_H
6 #define BALL_KERNEL_EXPRESSION_H
8 #ifndef BALL_DATATYPE_STRINGHASHMAP_H
12 #ifndef BALL_KERNEL_EXPRESSIONPARSER_H
48 typedef
void * (*CreationMethod) ();
79 bool hasPredicate(const
String& name) const;
83 bool operator == (const Expression& expression) const;
93 virtual
bool operator () (const
Atom& atom) const;
101 const
String& args = "") const;
105 void registerPredicate(const
String& name, CreationMethod creation_method);
110 void setExpression(const
String& expression);
114 const
String& getExpressionString() const;
122 const
StringHashMap<CreationMethod>& getCreationMethods() const;
131 Expression& operator = (const Expression& expression);
135 virtual
void clear();
153 void registerStandardPredicates_();
177 #endif // BALL_KERNEL_EXPRESSION_H