Back to Arangodb

negate

3rdParty/boost/1.78.0/libs/mpl/doc/refmanual/negate.html

3.12.9.12.9 KB
Original Source

| Prev Next | Back Along | Up Home | Full TOC | Front Page / Metafunctions / Arithmetic Operations / negate |

negate

Synopsis

template<
      typename T
    >
struct[negate](./negate.html){
    typedef_unspecified_type;
};

Description

Returns the negative (additive inverse) of its argument.

#include <[boost/mpl/negate.hpp](../../../../boost/mpl/negate.hpp)>
#include <[boost/mpl/arithmetic.hpp](../../../../boost/mpl/arithmetic.hpp)>

Model of

Numeric Metafunction

Parameters

ParameterRequirementDescription
TIntegral ConstantOperation's argument.

[Note: The requirements listed in this specification are the ones imposed by the default implementation. See Numeric Metafunction concept for the details on how to provide an implementation for a user-defined numeric type that does not satisfy the Integral Constant requirements. — end note]

Expression semantics

For any Integral Constant c:

typedef[negate](./negate.html)<c>::type r;

| Return type: |

Integral Constant.

| | Semantics: |

Equivalent to

typedef[integral\_c](./integral-c.html)< c::[value\_type](./value-type.html), ( -c::value ) > r;

|

typedef[negate](./negate.html)<c> r;

| Return type: |

Integral Constant.

| | Semantics: |

Equivalent to

struct r :[negate](./negate.html)<c>::type {};

|

Complexity

Amortized constant time.

Example

typedef[negate](./negate.html)<[int\_](./int.html)<-10> >::type r;[BOOST\_MPL\_ASSERT\_RELATION](./assert-relation.html)( r::value, ==, 10 );[BOOST\_MPL\_ASSERT](./assert.html)(( is_same< r::[value\_type](./value-type.html), int > ));

See also

Arithmetic Operations, Numeric Metafunction, numeric_cast, plus, minus, times

| Prev Next | Back Along | Up Home | Full TOC |

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