expressionPredicate.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: expressionPredicate.h,v 1.12 2005/10/23 12:02:18 oliver Exp $
00005 //
00006 
00007 #ifndef BALL_KERNEL_EXPRESSIONPREDICATE_H
00008 #define BALL_KERNEL_EXPRESSIONPREDICATE_H
00009 
00010 #ifndef BALL_KERNEL_ATOM_H
00011 # include <BALL/KERNEL/atom.h>
00012 #endif
00013 
00014 namespace BALL
00015 {
00025   class BALL_EXPORT ExpressionPredicate
00026     : public UnaryPredicate<Atom>
00027   {
00028     public:
00029 
00030     BALL_CREATE(ExpressionPredicate)
00031 
00032     
00035 
00038     ExpressionPredicate();
00039       
00042     ExpressionPredicate(const ExpressionPredicate& predicate);
00043 
00048     ExpressionPredicate(const String& argument);
00049 
00052     virtual ~ExpressionPredicate();
00053 
00055 
00058 
00061     ExpressionPredicate& operator = (const ExpressionPredicate& predicate);
00062 
00065     virtual void clear();
00066 
00068 
00071 
00074     bool operator == (const ExpressionPredicate& predicate) const;
00075 
00077 
00080 
00085     virtual bool operator () (const Atom& atom) const;
00086 
00090     virtual void setArgument(const String& argument);
00091 
00095     const String& getArgument() const;
00096 
00098     
00099     protected:
00100     
00101     /*_ The argument of the predicate 
00102      */
00103     String argument_;
00104   };
00105 }
00106 
00107 #endif // BALL_KERNEL_EXPRESSIONPREDICATE_H