std::negate<void>
Defined in header <functional> | ||
---|---|---|
template<> class negate<void>; | (since C++14) |
std::negate<>
is a specialization of std::negate
with parameter and return type deduced.
Nested types
Nested type | Definition |
---|---|
is_transparent | unspecified |
Member functions
operator() | returns its negated argument (public member function) |
std::negate<void>::operator()
template< class T > constexpr auto operator()( T&& arg ) const -> decltype(-std::forward<T>(arg)); |
Returns the result of negating arg
.
Parameters
arg | - | value to negate |
Return value
-std::forward<T>(arg)
.
Example
#include <complex> #include <functional> #include <iostream> int main() { auto complex_negate = std::negate<void>{}; // “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:
(4,2) (-4,-2) (-4,-2)
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/functional/negate_void