.. Metafunctions/Logical Operations//not_ |30 not\_ ===== Synopsis -------- .. parsed-literal:: template< typename F > struct not\_ { typedef |unspecified| type; }; Description ----------- Returns the result of *logical not* (``!``) operation on its argument. Header ------ .. parsed-literal:: #include #include Parameters ---------- +---------------+---------------------------+-----------------------------------------------+ | Parameter | Requirement | Description | +===============+===========================+===============================================+ | ``F`` | Nullary |Metafunction| | Operation's argument. | +---------------+---------------------------+-----------------------------------------------+ Expression semantics -------------------- For arbitrary nullary |Metafunction| ``f``: .. parsed-literal:: typedef not_::type r; :Return type: |Integral Constant|. :Semantics: Equivalent to .. parsed-literal:: typedef bool_< (!f::type::value) > r; .. .......................................................................... .. parsed-literal:: typedef not_ r; :Return type: |Integral Constant|. :Semantics: Equivalent to .. parsed-literal:: struct r : not_::type {}; Example ------- .. parsed-literal:: BOOST_MPL_ASSERT_NOT(( not_< true\_ > )); BOOST_MPL_ASSERT(( not_< false\_ > )); See also -------- |Metafunctions|, |Logical Operations|, |and_|, |or_|