Merge
[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 "classlist.h"
13 #include "structs.h"
14
15
16 class Serializer {
17 public:
18         Serializer(const char *file);
19         void mywrite(const void *__buf, size_t __n);
20         inline bool isSerialized(void *obj);
21         inline void addObject(void *obj) { map.put(obj, obj);}
22         virtual ~Serializer();
23         CMEMALLOC;
24 private:
25         int filedesc;
26         CloneMap map;
27 };
28
29 inline bool Serializer::isSerialized(void *obj) {
30         return map.contains(obj);
31 }
32
33
34
35
36 void serializeBooleanEdge(Serializer *serializer, BooleanEdge be, bool isTopLevel=false);
37
38 #endif/* SERIALIZER_H */
39