Spec-Zone.ru › C++

std::not_equal_to

Определено в заголовочном файле <functional>
template< class T >
struct not_equal_to;
(до C++14)
template< class T = void >
struct not_equal_to;
(начиная с C++14)

Функциональный объект для выполнения сравнений. Если не задана специализация, вызывает operator!= для типа T.

Специализации

Стандартная библиотека предоставляет специализацию std::not_equal_to, если T не задан, что позволяет выводить типы параметров и возвращаемый тип.

not_equal_to<void>
(C++14)
функциональный объект, реализующий x != y с выводом типов параметров и возвращаемого значения
(специализация шаблона класса)
(начиная с C++14)

Типы-члены

Тип Определение
result_type (устарел в C++17)(удалён в C++20) bool
first_argument_type (устарел в C++17)(удалён в C++20) T
second_argument_type (устарел в C++17)(удалён в C++20) T

Эти типы-члены получаются посредством публичного наследования от std::binary_function<T,T,bool>.

(до C++11)

Функции-члены

operator()
проверяет, что аргументы не равны
(открытая функция-член)

std::not_equal_to::operator()

bool operator()( const T& lhs, const T& rhs ) const;
(constexpr начиная с C++14)

Проверяет, что lhs не равно rhs.

Параметры

lhs, rhs - значения для сравнения

Возвращаемое значение

true, если lhs != rhs, иначе false.

Исключения

Может генерировать исключения, определённые реализацией.

Возможная реализация

constexpr bool operator()(const T& lhs, const T& rhs) const
{
    return lhs != rhs;
}

См. также

equal
определяет, совпадают ли два набора элементов
(шаблон функции и функциональный объект алгоритма)
ranges::equal
(C++20)
less
функциональный объект, реализующий x < y
(шаблон класса)
ranges::not_equal_to
(C++20)
ограниченный функциональный объект, реализующий x != y
(класс)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/functional/not_equal_to

Spec-Zone.ru

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