std::bitset::flip(3)

NAME
std::bitset::flip - std::bitset::flip

Synopsis
   bitset& flip(); (until C++11)
   bitset& flip() noexcept; (since C++11)
                        (1) (until C++23)
   constexpr bitset& flip() noexcept; (since C++23)
   bitset& flip( std::size_t pos ); (2) (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
// Run this code
 #include <iostream>
 #include <bitset>
 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
   set sets bits to true or given value
              (public member function)
   reset sets bits to false
              (public member function)
   operator&=
   operator|= performs binary AND, OR, XOR and NOT
   operator^= (public member function)
   operator~