![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
The MPL Reference Manual: BOOST_MPL_ASSERT_MSGBoost , ,
|
Front Page / Macros / Asserts / BOOST_MPL_ASSERT_MSG |
#define BOOST_MPL_ASSERT_MSG( condition, message, types ) \ unspecified token sequence \ /**/
Создает ошибку компиляции с встроенным пользовательским сообщением, когда условие не удерживается.
#include <boost/mpl/assert.hpp>
Parameter | Requirement | Description |
---|---|---|
условие | Интегральное постоянное выражение | A condition to be claimed. |
месей | Токен юридического идентификатора | Пользовательское сообщение в виде юридического символа C++. |
типы | Список параметров правовой функции | Список типов, подлежащих отображению в сообщении об ошибке. |
Для любого интегрального постоянного выражения expr, юридического идентификатора C++ message, и произвольных типов t1, t2,...tn:
BOOST_MPL_ASSERT_MSG( expr, message, (t1, t2,... tn) );
Return type: | None. |
---|---|
Precondition: | t1, t2,... tn are non-void. |
Semantics: | Generates a compilation error if expr != true, otherwise has no effect. По возможности в рамках диагностических возможностей компилятора сообщение об ошибке будет включать в себя message идентификатор t1, t2,... tn, и имеет общую форму: ... ************( ...::message )************)(t1, t2,... tn) ... |
BOOST_MPL_ASSERT_MSG( expr, message, (types<t1, t2,... tn>) );
Return type: | None. |
---|---|
Precondition: | None. |
Semantics: | Generates a compilation error if expr != true, otherwise has no effect. По возможности, в рамках диагностических возможностей компилятора сообщение об ошибке будет включать в себя идентификатор message и список t1, t2,... tn типов, и имеет общую форму: ... ************( ...::message )************)(types<t1, t2,... tn>) ... |
template< typename T > struct my { // ... BOOST_MPL_ASSERT_MSG( is_integral<T>::value , NON_INTEGRAL_TYPES_ARE_NOT_ALLOWED , (T) ); }; my<void*> test; // In instantiation of `my<void*>': // instantiated from here // conversion from ` // mpl_::failed************(my<void*>:: // NON_INTEGRAL_TYPES_ARE_NOT_ALLOWED::************)(void*) // ' to non-scalar type `mpl_::assert<false>' requested
Статья The MPL Reference Manual: BOOST_MPL_ASSERT_MSG раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::
реклама |