std::bitset<N>::all, std::bitset<N>::any, std::bitset<N>::none
Материал из cppreference.com
(1) | ||
bool all() const; |
(до C++11) | |
bool all() const noexcept; |
(начиная с C++11) (constexpr начиная с C++23) |
|
(2) | ||
bool any() const; |
(до C++11) | |
bool any() const noexcept; |
(начиная с C++11) (constexpr начиная с C++23) |
|
(3) | ||
bool none() const; |
(до C++11) | |
bool none() const noexcept; |
(начиная с C++11) (constexpr начиная с C++23) |
|
1) Проверяет, все ли биты установлены в true
2) Проверяет, установлены ли какие-либо биты в true
3) Проверяет, не установлен ли ни один из битов в true
Содержание |
[править] Параметры
(нет)
[править] Возвращаемое значение
1) true, если все биты установлены в true, иначе false
2) true, если любой из битов установлен в true, иначе false
3) true, если ни один из битов не установлен в true, иначе false
[править] Пример
Запустить этот код
#include <bitset> #include <iostream> int main() { std::bitset<4> b1("0000"); std::bitset<4> b2("0101"); std::bitset<4> b3("1111"); std::cout << "bitset\t" << "all\t" << "any\t" << "none\n"; std::cout << b1 << '\t' << b1.all() << '\t' << b1.any() << '\t' << b1.none() << '\n'; std::cout << b2 << '\t' << b2.all() << '\t' << b2.any() << '\t' << b2.none() << '\n'; std::cout << b3 << '\t' << b3.all() << '\t' << b3.any() << '\t' << b3.none() << '\n'; }
Вывод:
bitset all any none 0000 0 0 1 0101 0 1 0 1111 1 1 0
[править] Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
Номер | Применён | Поведение в стандарте | Корректное поведение |
---|---|---|---|
LWG 693 | C++98 | функция-элемент all() не была предоставлена
|
предоставлена |
[править] Смотрите также
возвращает количество битов, установленных в true (public функция-элемент) | |
(C++20) |
подсчитывает количество единичных битов в беззнаковом целом числе (шаблон функции) |