void *getElementConst(void* solver,unsigned int type, long value);
void *getElementRange (void* solver,void *element);
void* getBooleanVar(void* solver,unsigned int type);
-void *createFunctionOperator(void* solver,unsigned int op, void **domain, unsigned int numDomain, void *range,unsigned int overflowbehavior);
-void *createPredicateOperator(void* solver,unsigned int op, void **domain, unsigned int numDomain);
+void *createFunctionOperator(void* solver,unsigned int op, void *range,unsigned int overflowbehavior);
+void *createPredicateOperator(void* solver,unsigned int op);
void *createPredicateTable(void* solver,void *table, unsigned int behavior);
-void *createTable(void* solver,void**domains, unsigned int numDomain, void *range);
-void *createTableForPredicate(void* solver,void**domains, unsigned int numDomain);
+void *createTable(void* solver, void *range);
+void *createTableForPredicate(void* solver);
void addTableEntry(void* solver,void *table, void *inputs, unsigned int inputSize, long result);
void *completeTable(void* solver,void *table, unsigned int behavior);
void *applyFunction(void* solver,void *function, void**array, unsigned int numArrays, void* overflowstatus);
int getBooleanValue(void* solver,void* boolean);
int getOrderConstraintValue(void* solver,void *order, long first, long second);
void printConstraints(void* solver);
+void serialize(void* solver);
+void mustHaveValue(void *solver, void *element);
+void* clone(void * solver);
#ifdef __cplusplus
}
#endif