std::bitset<N>::flip

From cppreference.com
< cpp‎ | utility‎ | bitset
 
 
Utilities library
General utilities
Date and time
Function objects
Formatting library (C++20)
(C++11)
Relational operators (deprecated in C++20)
Integer comparison functions
(C++20)(C++20)(C++20)   
(C++20)
Swap and type operations
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Common vocabulary types
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Elementary string conversions
(C++17)
(C++17)
 
 
(1)
bitset& flip();
(until C++11)
bitset& flip() noexcept;
(since C++11)
(until C++23)
constexpr bitset& flip() noexcept;
(since C++23)
(2)
bitset& flip( std::size_t pos );
(until C++23)
constexpr bitset& flip( std::size_t pos );
(since C++23)

Flips bits, i.e. changes true values to false and false values to true. Equivalent to a logical NOT operation on part or all of the bitset.

1) Flips all bits (like operator~, but in-place).
2) Flips the bit at the position pos.

Parameters

pos - the position of the bit to flip

Return value

*this

Exceptions

2) throws std::out_of_range if pos does not correspond to a valid position within the bitset.

Example

#include <bitset>
#include <iostream>
 
int main()
{
    std::bitset<4> flops;
 
    std::cout << flops << '\n'
              << flops.flip(0) << '\n'
              << flops.flip(2) << '\n'
              << flops.flip() << '\n';
}

Output:

0000
0001
0101
1010

See also

sets bits to true or given value
(public member function)
sets bits to false
(public member function)
performs binary AND, OR, XOR and NOT
(public member function)
flips all the bits
(public member function of std::vector<bool,Allocator>)