std::negate - cppreference.com (original) (raw)

| | | | | ------------------------------- | | ------------- | | template<> class negate<void>; | | (since C++14) |

std::negate<> is a specialization of std::negate with parameter and return type deduced.

Contents

[edit] Member types

[edit] Member functions

| | returns its negated argument (public member function) | | -------------------------------------------------------- |

std::negate::operator()

| template< class T > constexpr auto operator()( T&& arg ) const -> decltype(-std::forward<T>(arg)); | | | | -------------------------------------------------------------------------------------------------------------------------- | | |

Returns the result of negating arg.

Parameters

Return value

-std::forward<T>(arg).

[edit] Example

#include #include #include   int main() { auto complex_negate = std::negate{}; // “void” can be omitted constexpr std::complex z(4, 2); std::cout << z << '\n'; std::cout << -z << '\n'; std::cout << complex_negate(z) << '\n'; }

Output: