Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4680 right-hear 1
 
2
#define __patternclass_h__
3
4
 
5
#include "lispobject.h"
6
#include "genericobject.h"
7
#include "patterns.h"
8
9
 
10
/// This class allows a YacasPatternPredicateBase to be put in a
11
/// LispGenericObject.
12
class PatternClass : public GenericClass
13
{
14
public:
15
  PatternClass(YacasPatternPredicateBase* aPatternMatcher);
16
  ~PatternClass();
17
18
 
19
                      LispPtr& aArguments);
20
  LispBoolean Matches(LispEnvironment& aEnvironment,
21
                      LispPtr* aArguments);
22
public: //From GenericClass
23
  virtual LispChar * Send(LispArgList& aArgList);
24
  virtual LispChar * TypeName();
25
26
 
27
  PatternClass(const PatternClass& aOther): iPatternMatcher(NULL)
28
  {
29
    // copy constructor not written yet, hence the assert
30
    LISPASSERT(0);
31
  }
32
  PatternClass& operator=(const PatternClass& aOther)
33
  {
34
    // copy constructor not written yet, hence the assert
35
    LISPASSERT(0);
36
    return *this;
37
  }
38
protected:
39
  YacasPatternPredicateBase* iPatternMatcher;
40
};
41
42
 
43
 
44
 
45
 
46