Пространства имён
Варианты
Действия

std::bit_and

Материал из cppreference.com
< cpp‎ | utility‎ | functional
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм (C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования (C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
Объекты функции
Функции обёртки
(C++11)
(C++11)
Применение частичных функций
(C++20)(C++23)
(C++11)
Вызов функции
(C++17)(C++23)
Объект идентичности функции
(C++20)
Обёртки ссылок
(C++11)(C++11)
Прозрачные обёртки операторов
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

Отрицатели
(C++17)
Искатели
Ограниченные компараторы
Старые привязки и адаптеры
(до 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_and;
(до C++14)
template< class T = void >
struct bit_and;
(начиная с C++14)

Функциональный объект для выполнения побитового И. Эффективно вызывает operator& для типа T.

Содержание

[править] Специализации

Стандартная библиотека предоставляет специализацию std::bit_and, где 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 функция-элемент)

std::bit_and::operator()

T operator()( const T& lhs, const T& rhs ) const;
(до C++14)
constexpr T operator()( const T& lhs, const T& rhs ) const;
(начиная с 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 функциональные объекты для побитовых операций отсутствуют добавлены