std::bit_and
Материал из cppreference.com
< cpp | utility | functional
Определено в заголовочном файле <functional> | ||
template<class T > struct bit_and; | (до C++14) | |
template<class T =void> struct bit_and; | (начиная с C++14) | |
Функциональный объект для выполнения побитового И. Эффективно вызывает operator& для типа T
.
Содержание |
[править]Специализации
Стандартная библиотека предоставляет специализацию
| (начиная с 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 | функциональные объекты для побитовых операций отсутствуют | добавлены |