Merge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/constraint_compiler
[satune.git] / src / Serialize / serializer.h
1
2 /* 
3  * File:   serializer.h
4  * Author: hamed
5  *
6  * Created on September 7, 2017, 3:38 PM
7  */
8
9 #ifndef SERIALIZER_H
10 #define SERIALIZER_H
11 #include "mymemory.h"
12 #include "structs.h"
13
14 class Serializer {
15 public:
16         Serializer(const char *file);
17         void mywrite(const void *__buf, size_t __n);
18         inline bool isSerialized(void *obj);
19         inline void addObject(void *obj) { map.put(obj, obj);}
20         virtual ~Serializer();
21         CMEMALLOC;
22 private:
23         int filedesc;
24         CloneMap map;
25 };
26
27 inline bool Serializer::isSerialized(void* obj){
28         return map.contains(obj);
29 }
30
31
32
33
34 void serializeBooleanEdge(Serializer* serializer, BooleanEdge& be);
35
36 #endif /* SERIALIZER_H */
37