|
|
Member types | ||||
Member functions | ||||
(until C++20) | ||||
Element access | ||||
Capacity | ||||
Modifiers | ||||
bitset::operator&=bitset::operator|=bitset::operator^=bitset::operator~ | ||||
Conversions | ||||
(C++11) | ||||
Non-member functions | ||||
Helper classes | ||||
(C++11) |
bitset& operator&=(const bitset& other); | (1) | (noexcept since C++11) (constexpr since C++23) |
bitset& operator|=(const bitset& other); | (2) | (noexcept since C++11) (constexpr since C++23) |
bitset& operator^=(const bitset& other); | (3) | (noexcept since C++11) (constexpr since C++23) |
bitset operator~()const; | (4) | (noexcept since C++11) (constexpr since C++23) |
Performs binary AND, OR, XOR and NOT.
Note that&=
,|=
, and^=
are only defined for bitsets of the same sizeN
.
Contents |
other | - | another bitset |
#include <bitset>#include <cstddef>#include <iostream>#include <string> int main(){conststd::string pattern_str{"1001"};std::bitset<16> pattern{pattern_str}, dest; for(std::size_t i= dest.size()/ pattern_str.size(); i!=0;--i){ dest<<= pattern_str.size(); dest|= pattern;std::cout<< dest<<" (i = "<< i<<")\n";} std::cout<< ~dest<<" (~dest)\n";}
Output:
0000000000001001 (i = 4)0000000010011001 (i = 3)0000100110011001 (i = 2)1001100110011001 (i = 1)0110011001100110 (~dest)
performs binary shift left and shift right (public member function)[edit] |