libstdcxx_is_pod_hack.cpp [plain text]
template<typename T>
struct __is_pod {
__is_pod() {}
};
__is_pod<int> ipi;
template<typename T>
struct __is_same {
};
__is_same<int> isi;
struct test_is_signed {
static const bool __is_signed = true;
};
bool check_signed = test_is_signed::__is_signed;
template<bool B> struct must_be_true {};
template<> struct must_be_true<false>;
void foo() {
bool b = __is_pod(int);
must_be_true<__is_pod(int)> mbt;
}
#if !__has_feature(is_pod)
# error __is_pod should still be available.
#endif