Macro BOOST_VMD_ASSERT
BOOST_VMD_ASSERT — Conditionally causes an error to be generated.
Synopsis
Description
... = вариадные параметры, максимум 2. Любые параметры, превышающие максимум 2, просто игнорируются.
Первый вариадный параметр:
cond = условие, определяющее, происходит ли утверждение. Действительные значения варьируются от 0 до BOOST_PP_LIMIT_MAG.
Второй вариадный параметр (факультативно):
errstr = строка ошибок для создания ошибки компилятора при использовании компилятора VC++. Компилятор VC++ не способен создавать ошибку препроцессора, поэтому, когда «конд» равен 0, ошибка компилятора генерируется путем вывода кода C++ в виде:
char errstr[1];
По умолчанию BOOST_VMD_ASSERT_ERROR не поставляется. Это относится только к VC++.
возвращает = Если конд расширяется до 0, этот макрос вызывает ошибку. В противном случае она ни к чему не расширяется. Для всех компиляторов, кроме Visual C++, ошибка является ошибкой предварительной обработки. Для Visual C++ Ошибка вызвана выходом недействительного C++: эта ошибка может быть замаскирована, если недействительный выход игнорируется макросом, который вызывает этот макрос.