5 #ifndef BALL_KERNEL_EXPRESSION_H
6 #define BALL_KERNEL_EXPRESSION_H
8 #ifndef BALL_DATATYPE_STRINGHASHMAP_H
12 #ifndef BALL_KERNEL_EXPRESSIONPARSER_H
91 typedef
void * (*CreationMethod) ();
122 bool hasPredicate(const
String& name) const;
126 bool operator == (const Expression& expression) const;
136 virtual
bool operator () (const
Atom& atom) const;
144 const
String& args = "") const;
148 void registerPredicate(const
String& name, CreationMethod creation_method);
153 void setExpression(const
String& expression);
157 const
String& getExpressionString() const;
165 const
StringHashMap<CreationMethod>& getCreationMethods() const;
174 Expression& operator = (const Expression& expression);
178 virtual
void clear();
196 void registerStandardPredicates_();
220 #endif // BALL_KERNEL_EXPRESSION_H