Spec-Zone.ru › C++

std::bit_or

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

Объект-функция для выполнения побитового ИЛИ. По сути, вызывает operator| для типа T.

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

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

bit_or<void>
(C++14)
объект-функция, реализующий 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()
возвращает результат побитового ИЛИ двух аргументов
(открытая функция-член)

std::bit_or::operator()

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

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

Параметры

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

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

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

Исключения

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

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

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

Отчёты об ошибках

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

Отчёт об ошибке Применён к Опубликованное поведение Корректное поведение
LWG 660 C++98 отсутствуют объекты-функции для побитовых операций добавлены

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

Spec-Zone.ru

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