Back to Arangodb

BOOST_MPL_ASSERT

3rdParty/boost/1.78.0/libs/mpl/doc/refmanual/assert.html

3.12.9.12.4 KB
Original Source

| Prev Next | Back Along | Up Home | Full TOC | Front Page / Macros / Asserts / BOOST_MPL_ASSERT |

BOOST_MPL_ASSERT

Synopsis

#define[BOOST\_MPL\_ASSERT](./assert.html)( pred ) \_unspecified token sequence_\
/**/

Description

Generates a compilation error when the predicate pred holds false.

#include <[boost/mpl/assert.hpp](../../../../boost/mpl/assert.hpp)>

Parameters

ParameterRequirementDescription
predBoolean nullary MetafunctionA predicate to be asserted.

Expression semantics

For any boolean nullary Metafunction pred:

[BOOST\_MPL\_ASSERT](./assert.html)(( pred ));

| Return type: |

None.

| | Semantics: |

Generates a compilation error if pred::type::value != true, otherwise has no effect. Note that double parentheses are required even if no commas appear in the condition.

When possible within the compiler's diagnostic capabilities, the error message will include the predicate's full type name, and have a general form of:

_..._ ************pred::************ _..._

|

Example

template< typename T, typename U > struct my
{
    // ...[BOOST\_MPL\_ASSERT](./assert.html)(( is_same< T,U > ));
};

my<void*,char*> test;

// In instantiation of `my<void, char*>':
// instantiated from here
// conversion from `
// mpl_::failed ************boost::is_same<void, char*>::************' to
// non-scalar type `mpl_::assert<false>' requested

See also

Asserts, BOOST_MPL_ASSERT_NOT, BOOST_MPL_ASSERT_MSG, BOOST_MPL_ASSERT_RELATION

| Prev Next | Back Along | Up Home | Full TOC |

Copyright © 2001-2009 Aleksey Gurtovoy and David Abrahams Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |