Add new test cases plus buffer serialization code
[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         char *buffer;
43         uint bufferindex;
44         uint bufferbytes;
45         uint buffercap;
46
47         CSolver *solver;
48         int filedesc;
49         CloneMap map;
50 };
51
52 #endif/* DESERIALIZER_H */
53