1 #include "signatureenc.h"
7 SignatureEnc::SignatureEnc(AlloyEnc *ae): alloyEncoder(ae){
10 SignatureEnc::~SignatureEnc(){
11 for(uint i=0; i<signatures.getSize(); i++){
12 Signature *s = signatures.get(i);
17 ElementSig *SignatureEnc::getElementSignature(Element *element){
18 ElementSig *esig = (ElementSig *)encoded.get((void *)element);
20 Set *set = element->getRange();
21 SetSig *ssig = (SetSig *)encoded.get((void *)set);
23 ssig = new SetSig(signatures.getSize(), set);
24 encoded.put(set, ssig);
25 signatures.push(ssig);
26 alloyEncoder->writeToFile(ssig->getSignature());
28 esig = new ElementSig(signatures.getSize(), ssig);
29 encoded.put(element, esig);
30 signatures.push(esig);
31 alloyEncoder->writeToFile(esig->getSignature());
37 void SignatureEnc::setValue(uint id, uint64_t value){
38 ElementSig *sig = (ElementSig *)signatures.get(id);
42 uint64_t SignatureEnc::getValue(Element *element){
43 ElementSig *sig = (ElementSig *)encoded.get((void *) element);
45 return sig->getValue();