HashtableNodeToSubGraph graphMap;
HashsetEncodingSubGraph subgraphs;
+ void encodeParent(Element *e);
void decideEdges();
void mergeNodes(EncodingNode *first, EncodingNode *second);
void processElement(Element *e);
EncodingNode * createNode(Element *e);
EncodingNode * getNode(Element *e);
EncodingEdge * getEdge(EncodingNode *left, EncodingNode *right, EncodingNode *dst);
+ EncodingEdge * createEdge(EncodingNode *left, EncodingNode *right, EncodingNode *dst);
};
class EncodingNode {
EncodingEdge(EncodingNode *_l, EncodingNode *_r, EncodingNode *_d);
void setEncoding(EdgeEncodingType e) {encoding=e;}
uint64_t getValue() const;
+ EdgeEncodingType getEncoding() {return encoding;}
+
CMEMALLOC;
private: