76481954bd380bc3728c5f108b41dd3a0d690e20
[satune.git] / src / AlloyEnc / signatureenc.h
1 #ifndef SIGNATUREENC_H
2 #define SIGNATUREENC_H
3
4 #include "classlist.h"
5 #include "structs.h"
6 #include "cppvector.h"
7
8 class SignatureEnc {
9 public:
10         SignatureEnc(AlloyEnc *_alloyEncoder);
11         ~SignatureEnc();
12         void setValue(uint id, uint64_t value);
13         ElementSig *getElementSignature(Element *element);
14         int getAlloyIntScope();
15         uint64_t getValue(Element *element);
16 private:
17         void updateMaxValue(Set *set);
18         CloneMap encoded;
19         Vector<Signature*> signatures;
20         AlloyEnc *alloyEncoder;
21         uint64_t maxValue;
22 };
23 #endif