std::negate<void>
Определено в заголовочном файле <functional> | ||
|---|---|---|
template<> class negate<void>; | (начиная с C++14) |
std::negate<> — это специализация std::negate с выведенными типами параметра и возвращаемого значения.
Типы-члены
| Тип | Определение |
|---|---|
is_transparent | неуказанный |
Функции-члены
| возвращает аргумент, взятый с противоположным знаком (открытая функция-член) |
std::negate<void>::operator()
template< class T >
constexpr auto operator()( T&& arg ) const
-> decltype(-std::forward<T>(arg));
|
Возвращает результат отрицания arg.
Параметры
| arg | - | значение, которое нужно отрицать |
Возвращаемое значение
-std::forward<T>(arg).
Пример
#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';
}
Вывод:
(4,2) (-4,-2) (-4,-2)
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/functional/negate_void