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
|
||
|
|