#include "structs.h"
#include "graphstructs.h"
+
class EncodingGraph {
public:
EncodingGraph(CSolver *solver);
~EncodingGraph();
void buildGraph();
void encode();
+ void validate();
CMEMALLOC;
private:
EncodingNode(Set *_s);
void addElement(Element *e);
uint getSize() const;
+ uint64_t getIndex(uint index);
VarType getType() const;
+ double measureSimilarity(EncodingNode *node);
void setEncoding(ElementEncodingType e) {encoding = e;}
ElementEncodingType getEncoding() {return encoding;}
bool couldBeBinaryIndex() {return encoding == BINARYINDEX || encoding == ELEM_UNASSIGNED;}