6 inline namespace noexceptions {
8 #define ISLPP_STRINGIZE_(X) #X
9 #define ISLPP_STRINGIZE(X) ISLPP_STRINGIZE_(X)
11 #define ISLPP_ASSERT(test, message) \
15 fputs("Assertion \"" #test "\" failed at " __FILE__ \
16 ":" ISLPP_STRINGIZE(__LINE__) "\n " message "\n", \
24 friend isl::boolean manage(isl_bool val);
25 boolean(isl_bool val): val(val) {}
28 : val(isl_bool_error) {}
30 /* implicit */ boolean(bool val)
31 : val(val ? isl_bool_true : isl_bool_false) {}
33 bool is_error() const { return val == isl_bool_error; }
34 bool is_false() const { return val == isl_bool_false; }
35 bool is_true() const { return val == isl_bool_true; }
37 explicit operator bool() const {
38 ISLPP_ASSERT(!is_error(), "IMPLEMENTATION ERROR: Unhandled error state");
42 boolean operator!() const {
49 inline isl::boolean manage(isl_bool val) {
50 return isl::boolean(val);
56 /* implicit */ ctx(isl_ctx *ctx)
70 error = isl_stat_error