*** ВНИМАНИЕ: Блог переехал на другой адрес - demin.ws ***

вторник, 7 июля 2009 г.

Static assert

А какой у вас используется assert времени компиляции, если не использовать boost/static_assert.hpp?

У меня вот такой:
template <bool> struct STATIC_ASSERTION_FAILURE;
template <> struct STATIC_ASSERTION_FAILURE<true> {};
#define STATIC_CHECK(x) sizeof(STATIC_ASSERTION_FAILURE< (bool)(x) >)
Работает приемлемо сносно:
int main() {
STATIC_CHECK(sizeof(int) < sizeof(char));
return 0;
}