kolibrios-gitea/contrib/media/updf/include/patternclass.h

48 lines
1.1 KiB
C
Raw Normal View History

#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