Используйте static_assert для проверки типов, переданных макросу

К сожалению, у меня осталось несколько макросов, оставшихся от исходной версии моей библиотеки, в которой использовался какой-то довольно сумасшедший C. В частности, у меня есть серия макросов, которые ожидают, что определенные типы будут перешел к ним. Можно ли сделать что-то вроде:

static_assert(decltype(retval) == bool);

И как? Есть ли какие-нибудь умные альтернативы?

Да, я знаю, что макросы - это плохо. Я знаю, что C ++ - это не C и т. Д.

Update0

Вот некоторый связанный код и исходный файл . Предложения приветствуются. Исходный вопрос остается прежним.

25
задан Matt Joiner 27 October 2010 в 01:41
поделиться