forked from KolibriOS/kolibrios
48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
|
|
#ifndef __patternclass_h__
|
|
#define __patternclass_h__
|
|
|
|
#include "lisptype.h"
|
|
#include "lispobject.h"
|
|
#include "genericobject.h"
|
|
#include "patterns.h"
|
|
|
|
/// Wrapper for YacasPatternPredicateBase.
|
|
/// This class allows a YacasPatternPredicateBase to be put in a
|
|
/// LispGenericObject.
|
|
class PatternClass : public GenericClass
|
|
{
|
|
public:
|
|
PatternClass(YacasPatternPredicateBase* aPatternMatcher);
|
|
~PatternClass();
|
|
|
|
LispBoolean Matches(LispEnvironment& aEnvironment,
|
|
LispPtr& aArguments);
|
|
LispBoolean Matches(LispEnvironment& aEnvironment,
|
|
LispPtr* aArguments);
|
|
public: //From GenericClass
|
|
virtual LispChar * Send(LispArgList& aArgList);
|
|
virtual LispChar * TypeName();
|
|
|
|
private:
|
|
PatternClass(const PatternClass& aOther): iPatternMatcher(NULL)
|
|
{
|
|
// copy constructor not written yet, hence the assert
|
|
LISPASSERT(0);
|
|
}
|
|
PatternClass& operator=(const PatternClass& aOther)
|
|
{
|
|
// copy constructor not written yet, hence the assert
|
|
LISPASSERT(0);
|
|
return *this;
|
|
}
|
|
protected:
|
|
YacasPatternPredicateBase* iPatternMatcher;
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|