std::negate<void>
Определено в заголовке <functional> | ||
|---|---|---|
template<> class negate<void>; | (с C++14) |
std::negate<> является специализацией std::negate с выведенным типом параметра и возвращаемого значения.
Вложенные типы
| Вложенный тип | Определение |
|---|---|
is_transparent | неопределено |
Члены-функции
| operator() | возвращает отрицаемое значение своего аргумента (публичный член-функция) |
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/w/cpp/utility/functional/negate_void