Merging with Tuner branch
[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