bitor_.rst

来自「Boost provides free peer-reviewed portab」· RST 代码 · 共 134 行

RST
134
字号
.. Metafunctions/Bitwise Operations//bitor_.. Copyright Aleksey Gurtovoy, David Abrahams 2007... 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)bitor\_=======Synopsis--------.. parsed-literal::        template<          typename T1        , typename T2        , typename T3 = |unspecified|        |...|        , typename T\ *n* = |unspecified|        >    struct bitor\_    {        typedef |unspecified| type;    };Description-----------Returns the result of *bitwise or* (``|``) operation of its arguments.Header------.. parsed-literal::        #include <boost/mpl/bitor.hpp>    #include <boost/mpl/bitwise.hpp>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 bitor_<c1,\ |...|\ c\ *n*\>::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 bitor_<c,c3,\ |...|\c\ *n*\>::type r; .. ............................................................................ parsed-literal::    typedef bitor_<c1,\ |...|\ c\ *n*\> r;:Return type:    |Integral Constant|.:Semantics:    Equivalent to        .. parsed-literal::        struct r : bitor_<c1,\ |...|\ c\ *n*\>::type {};Complexity----------Amortized constant time.Example-------.. parsed-literal::    typedef integral_c<unsigned,0> u0;    typedef integral_c<unsigned,1> u1;    typedef integral_c<unsigned,2> u2;    typedef integral_c<unsigned,8> u8;    typedef integral_c<unsigned,0xffffffff> uffffffff;        BOOST_MPL_ASSERT_RELATION( (bitor_<u0,u0>::value), ==, 0 );    BOOST_MPL_ASSERT_RELATION( (bitor_<u1,u0>::value), ==, 1 );    BOOST_MPL_ASSERT_RELATION( (bitor_<u0,u1>::value), ==, 1 );    BOOST_MPL_ASSERT_RELATION( (bitor_<u0,uffffffff>::value), ==, 0xffffffff );    BOOST_MPL_ASSERT_RELATION( (bitor_<u1,uffffffff>::value), ==, 0xffffffff );    BOOST_MPL_ASSERT_RELATION( (bitor_<u8,uffffffff>::value), ==, 0xffffffff );See also--------|Bitwise Operations|, |Numeric Metafunction|, |numeric_cast|, |bitand_|, |bitxor_|, |shift_left|

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?