Spec-Zone.ru › C++

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API