kolibrios-fun/contrib/media/updf/include/patternclass.h
Serhii Sakhno cd35d38ad2 updf: restore menuetlibc version
git-svn-id: svn://kolibrios.org@8429 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-12-16 18:41:33 +00:00

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