Namespaces
Variants

std::bit_or

Источник: ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования возможностей библиотеки (C++20)
Утилиты программ
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношений (устарело в C++20)
 
Функциональные объекты
Вызов функций
(C++17)(C++23)
Тождественный функциональный объект
(C++20)
Старые binder'ы и адапторы
(до C++17*)
(до C++17*)
(до C++17*)
(до C++17*)
(до C++17*)(до C++17*)(до C++17*)(до C++17*)
(до C++20*)
(до C++20*)
(до C++17*)(до C++17*)
(до C++17*)(до C++17*)

(до C++17*)
(до C++17*)(до C++17*)(до C++17*)(до C++17*)
(до C++20*)
(до C++20*)
 
Определён в заголовке <functional>
template< class T >
struct bit_or;
(до C++14)
template< class T = void >
struct bit_or;
(начиная с C++14)

Функциональный объект для выполнения поразрядной операции ИЛИ. Фактически вызывает operator| для типа T.

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

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

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

Типы членов

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

Эти типы членов получены через публичное наследование от std:: binary_function < T, T, T > .

(до C++11)

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

operator()
возвращает результат побитового ИЛИ двух аргументов
(public member function)

std::bit_or:: operator()

T operator ( ) ( const T & lhs, const T & rhs ) const ;
(constexpr since C++14)

Возвращает результат побитового ИЛИ для lhs и rhs .

Параметры

lhs, rhs - значения для вычисления побитового ИЛИ

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

Результат lhs | rhs .

Исключения

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

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

constexpr T operator()(const T& lhs, const T& rhs) const
{
    return lhs | rhs;
}

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Applied to Behavior as published Correct behavior
LWG 660 C++98 функциональные объекты для побитовых операций отсутствуют добавлены