commit after merge
[satune.git] / src / Interpreter / signature.h
1 #ifndef SIGNATURE_H
2 #define SIGNATURE_H
3 #include <string>
4 #include <iostream>
5 #include "classlist.h"
6 using namespace std;
7
8 class Signature {
9 public:
10         Signature(uint _id) : id(_id) {}
11         string operator+(const string &s);
12         virtual string toString() const = 0;
13         virtual string getAbsSignature() const = 0;
14         virtual string getSignature() const = 0;
15         virtual ~Signature() {}
16 protected:
17         uint id;
18 };
19
20 class ValuedSignature : public Signature {
21 public:
22         ValuedSignature(uint id);
23         int getValue();
24         void setValue(int v) {value = v;}
25 protected:
26         int value;
27 };
28
29 string operator+(const string &str, const Signature &sig);
30
31 #endif