serializer->mywrite(&vtype, sizeof(VarType));
}
+void BooleanConst::serialize(Serializer *serializer) {
+ if (serializer->isSerialized(this))
+ return;
+ serializer->addObject(this);
+ serializer->mywrite(&type, sizeof(ASTNodeType));
+ BooleanConst *This = this;
+ serializer->mywrite(&This, sizeof(BooleanConst *));
+ serializer->mywrite(&istrue, sizeof(bool));
+}
+
void BooleanVar::print() {
model_print("BooleanVar<%p>\n", this);
}
Boolean *clone(CSolver *solver, CloneMap *map);
bool isTrue() {return istrue;}
bool isFalse() {return !istrue;}
- void serialize(Serializer *serializer ) {};
+ void serialize(Serializer *serializer );
virtual void print();
bool istrue;
CMEMALLOC;
case BOOLEANVAR:
deserializeBooleanVar();
break;
+ case BOOLCONST:
+ deserializeBooleanConst();
+ break;
case ORDERCONST:
deserializeBooleanOrder();
break;
map.put(b, solver->getBooleanVar(vtype).getBoolean());
}
+void Deserializer::deserializeBooleanConst() {
+ BooleanVar *b;
+ myread(&b, sizeof(BooleanVar *));
+ bool istrue;
+ myread(&istrue, sizeof(bool));
+ map.put(b, istrue?solver->getBooleanTrue().getBoolean():
+ solver->getBooleanFalse().getBoolean());
+}
+
void Deserializer::deserializeBooleanOrder() {
BooleanOrder *bo_ptr;
myread(&bo_ptr, sizeof(BooleanOrder *));
ssize_t myread (void *__buf, size_t __nbytes);
void deserializeBooleanEdge();
void deserializeBooleanVar();
+ void deserializeBooleanConst();
void deserializeBooleanOrder();
void deserializeOrder();
void deserializeSet();