Merge branch 'encoding'
[satune.git] / src / Serialize / deserializer.h
1
2 /* 
3  * File:   deserializer.h
4  * Author: hamed
5  *
6  * Created on September 7, 2017, 6:07 PM
7  */
8
9 #ifndef DESERIALIZER_H
10 #define DESERIALIZER_H
11 #include "classlist.h"
12 #include "mymemory.h"
13 #include "structs.h"
14 /**
15  * Style of serialized file:
16  * ASTNodeType#Pointer#ObjectDATA
17  * 
18  * @param file
19  */
20 class Deserializer {
21 public:
22         Deserializer(const char* file);
23         CSolver *deserialize();
24         virtual ~Deserializer();
25 private:
26         ssize_t myread (void *__buf, size_t __nbytes);
27         void deserializeBooleanEdge();
28         void deserializeBooleanVar();
29         void deserializeBooleanOrder();
30         void deserializeOrder();
31         void deserializeSet();
32         void deserializeBooleanLogic();
33         void deserializeBooleanPredicate();
34         void deserializePredicateTable();
35         void deserializePredicateOperator();
36         void deserializeTable();
37         void deserializeElementSet();
38         void deserializeElementConst();
39         void deserializeElementFunction();
40         void deserializeFunctionOperator();
41         void deserializeFunctionTable();
42         CSolver *solver;
43         int filedesc;
44         CloneMap map;
45 };
46
47 #endif /* DESERIALIZER_H */
48