![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
The MPL Reference Manual: BOOST_MPL_ASSERT_RELATIONBoost , ,
|
Front Page / Macros / Asserts / BOOST_MPL_ASSERT_RELATION |
#define BOOST_MPL_ASSERT_RELATION( x, relation, y ) \ unspecified token sequence \ /**/
Специализированный макрос утверждения для проверки численных условий. Составляет ошибку компиляции, когда условие(хотношение)yне держится.
#include <boost/mpl/assert.hpp>
Parameter | Requirement | Description |
---|---|---|
x | Интегральная постоянная | Левый операнд проверяемого отношения. |
у | Интегральная постоянная | Правый операнд проверяемого отношения. |
отношение | Токен оператора C++ | Токен оператора для проверяемого отношения. |
Для любых интегральных константx,yи юридического токена оператора C++op:
BOOST_MPL_ASSERT_RELATION( x, op, y );
Return type: | None. |
---|---|
Semantics: | Generates a compilation error if ( x op y ) != true, otherwise has no effect. По возможности в пределах диагностических возможностей компилятора сообщение об ошибке будет включать в себя имя проверяемого соотношения, фактические значения обоих операндов и иметь общую форму: ... ************...assert_relation<op, x, y>::************) ... |
template< typename T, typename U > struct my { // ... BOOST_MPL_ASSERT_RELATION( sizeof(T), <, sizeof(U) ); }; my<char[50],char[10]> test; // In instantiation of `my<char[50], char[10]>': // instantiated from here // conversion from ` // mpl_::failed************mpl_::assert_relation<less, 50, 10>::************' // to non-scalar type `mpl_::assert<false>' requested
Статья The MPL Reference Manual: BOOST_MPL_ASSERT_RELATION раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::
реклама |