.. Metafunctions/Bitwise Operations//bitand_ bitand\_ ======== Synopsis -------- .. parsed-literal:: template< typename T1 , typename T2 , typename T3 = |unspecified| |...| , typename T\ *n* = |unspecified| > struct bitand\_ { typedef |unspecified| type; }; Description ----------- Returns the result of *bitwise and* (``&``) operation of its arguments. Header ------ .. parsed-literal:: #include #include Model of -------- |Numeric Metafunction| Parameters ---------- +---------------+---------------------------+-----------------------------------------------+ | Parameter | Requirement | Description | +===============+===========================+===============================================+ | |T1...Tn| | |Integral Constant| | Operation's arguments. | +---------------+---------------------------+-----------------------------------------------+ |Note:| |numeric metafunction note| |-- end note| Expression semantics -------------------- For any |Integral Constant|\ s |c1...cn|: .. parsed-literal:: typedef bitand_::type r; :Return type: |Integral Constant|. :Semantics: Equivalent to .. parsed-literal:: typedef integral_c< typeof(c1::value & c2::value) , ( c1::value & c2::value ) > c; typedef bitand_::type r; .. .......................................................................... .. parsed-literal:: typedef bitand_ r; :Return type: |Integral Constant|. :Semantics: Equivalent to .. parsed-literal:: struct r : bitand_::type {}; Complexity ---------- Amortized constant time. Example ------- .. parsed-literal:: typedef integral_c u0; typedef integral_c u1; typedef integral_c u2; typedef integral_c u8; typedef integral_c uffffffff; BOOST_MPL_ASSERT_RELATION( (bitand_::value), ==, 0 ); BOOST_MPL_ASSERT_RELATION( (bitand_::value), ==, 0 ); BOOST_MPL_ASSERT_RELATION( (bitand_::value), ==, 0 ); BOOST_MPL_ASSERT_RELATION( (bitand_::value), ==, 0 ); BOOST_MPL_ASSERT_RELATION( (bitand_::value), ==, 1 ); BOOST_MPL_ASSERT_RELATION( (bitand_::value), ==, 8 ); See also -------- |Bitwise Operations|, |Numeric Metafunction|, |numeric_cast|, |bitor_|, |bitxor_|, |shift_left| .. 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)