|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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] |