# logical_not

### Synopsis

    template<
          typename F
        >
    struct logical_not
    {
        typedef unspecified type;
    };

### Description

Returns the result of logical not (`!`) operation on its argument.

### Definition

    #include "boost/mpl/logical/not.hpp"

### Parameters

Parameter | Requirement | Description
--- | --- | ---
`F` | A model of nullary Metafunction |

### Expression semantics

Expression | Expression type | Precondition | Semantics | Postcondition
--- | --- | --- | --- | ---
`typedef logical_not<f>::type c;` | A model of `bool` Integral Constant |  | Equivalent to `typedef bool_c<(!f::type::value)> c;` |

### Example

    BOOST_STATIC_ASSERT(logical_not<true_c>::type::value == false);
    BOOST_STATIC_ASSERT(logical_not<false_c>::type::value == true);

### See also

Metafunctions, `logical_and`, `logical_or`

Table of Content | Reference
Last edited July 17, 2002 4:13 am