#include <iostream>
#include <type_traits>
using namespace std;

void qt_noop() {}
void qt_assert(const char *assertion, const char *file, int line) { cout << assertion; }

#if !defined(MY_ASSERT)
#  ifndef QT_NO_DEBUG
#    define MY_ASSERT_FIRST_ARGUMENT(A, ...) A
#    define MY_ASSERT(...) ((!MY_ASSERT_FIRST_ARGUMENT(__VA_ARGS__)) ? qt_assert(#__VA_ARGS__,__FILE__,__LINE__) : qt_noop())
#  else
#    define MY_ASSERT(...)
#  endif
#endif

int main()
{
	MY_ASSERT(std::is_same<int, int>::value);
	
	return 0;
}