#endif
void *createCCSolver();
void deleteCCSolver(void *solver);
+void resetCCSolver(void *solver);
void *createSet(void *solver,unsigned int type, long *elements, unsigned int num);
void *createRangeSet(void *solver,unsigned int type, long lowrange, long highrange);
void *createRangeVar(void *solver,unsigned int type, long lowrange, long highrange);
void *getElementConst(void *solver,unsigned int type, long value);
void *getElementRange (void *solver,void *element);
void *getBooleanVar(void *solver,unsigned int type);
+void *getBooleanTrue(void *solver);
+void *getBooleanFalse(void *solver);
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 *applyLogicalOperationTwo(void *solver,unsigned int op, void *arg1, void *arg2);
void *applyLogicalOperationOne(void *solver,unsigned int op, void *arg);
void addConstraint(void *solver,void *constraint);
+void printConstraint(void *solver,void *constraint);
void *createOrder(void *solver,unsigned int type, void *set);
void *orderConstraint(void *solver,void *order, long first, long second);
int solve(void *solver);
void printConstraints(void *solver);
void serialize(void *solver);
void mustHaveValue(void *solver, void *element);
+void setInterpreter(void *solver, unsigned int type);
void *clone(void *solver);
#ifdef __cplusplus
}