Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_34_1/libs/mpl/doc/src/refmanual/divides.rst @ 29

Last change on this file since 29 was 29, checked in by landauf, 17 years ago

updated boost from 1_33_1 to 1_34_1

File size: 2.3 KB

divides

Synopsis

template<
      typename T1
    , typename T2
    , typename T3 = |unspecified|
    |...|
    , typename Tn = |unspecified|
    >
struct divides
{
    typedef |unspecified| type;
};

Description

Returns the quotient of its arguments.

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|:

typedef divides<c1,|...|cn>::type r;
Return type:

|Integral Constant|.

Precondition:

c2::value != 0, |...| cn::value != 0.

Semantics:

Equivalent to

typedef integral_c<
      typeof(c1::value / c2::value)
    , ( c1::value / c2::value )
    > c;
typedef divides<c,c3,|...|cn>::type r;
typedef divides<c1,|...|cn> r;
Return type:

|Integral Constant|.

Precondition:

c2::value != 0, |...| cn::value != 0.

Semantics:

Equivalent to

struct r : divides<c1,|...|cn>::type {};

Complexity

Amortized constant time.

Example

typedef divides< int_<-10>, int_<3>, long_<1> >::type r;
BOOST_MPL_ASSERT_RELATION( r::value, ==, -3 );
BOOST_MPL_ASSERT(( is_same< r::value_type, long > ));

Docutils System Messages

??????????????????????????
Note: See TracBrowser for help on using the repository browser.