blob: 59e05cdeb6970458111dd66df92ffcaa2ada82c4 [file] [log] [blame]
.. Data Types/Numeric//bool_ |10
bool\_
======
Synopsis
--------
.. parsed-literal::
template<
bool C
>
struct bool\_
{
// |unspecified|
// ...
};
typedef bool_<true> true\_;
typedef bool_<false> false\_;
Description
-----------
A boolean |Integral Constant| wrapper.
Header
------
.. parsed-literal::
#include <boost/mpl/bool.hpp>
Model of
--------
|Integral Constant|
Parameters
----------
+---------------+-------------------------------+---------------------------+
| Parameter | Requirement | Description |
+===============+===============================+===========================+
| ``C`` | A boolean integral constant | A value to wrap. |
+---------------+-------------------------------+---------------------------+
Expression semantics
--------------------
|Semantics disclaimer...| |Integral Constant|.
For arbitrary integral constant ``c``:
+-------------------+-----------------------------------------------------------+
| Expression | Semantics |
+===================+===========================================================+
| ``bool_<c>`` | An |Integral Constant| ``x`` such that ``x::value == c`` |
| | and ``x::value_type`` is identical to ``bool``. |
+-------------------+-----------------------------------------------------------+
Example
-------
.. parsed-literal::
BOOST_MPL_ASSERT(( is_same< bool_<true>::value_type, bool > ));
BOOST_MPL_ASSERT(( is_same< bool_<true>, true\_ > )); }
BOOST_MPL_ASSERT(( is_same< bool_<true>::type, bool_<true> > ));
BOOST_MPL_ASSERT_RELATION( bool_<true>::value, ==, true );
assert( bool_<true>() == true );
See also
--------
|Data Types|, |Integral Constant|, |int_|, |long_|, |integral_c|
.. |true_| replace:: `true_`_
.. _`true_`: `bool_`_
.. |false_| replace:: `false_`_
.. _`false_`: `bool_`_
.. copyright:: 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)