#include #include using namespace SDL2pp::Private; using namespace std; int main(int, char*[]) { static_assert(Or::value, "OR(true, true) should be true"); static_assert(Or::value, "OR(true, false) should be true"); static_assert(Or::value, "OR(false, true) should be true"); static_assert(!Or::value, "OR(false, false) should be false"); static_assert(And::value, "AND(true, true) should be true"); static_assert(!And::value, "AND(true, false) should be false"); static_assert(!And::value, "AND(false, true) should be false"); static_assert(!And::value, "AND(false, false) should be false"); struct A { }; struct B { }; struct C { }; static_assert(TupleHasType>::value, ""); static_assert(TupleHasType>::value, ""); static_assert(!TupleHasType>::value, ""); return 0; }