std::bitset<N>::flip (3) - Linux Manuals

std::bitset<N>::flip: std::bitset<N>::flip

NAME

std::bitset<N>::flip - std::bitset<N>::flip

Synopsis


bitset<N>& flip(); (until C++11)
bitset<N>& flip() noexcept; (1) (since C++11)
bitset<N>& flip( std::size_t pos ); (2)


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> b;


      std::cout << b << "\n";
      std::cout << b.flip(0) << '\n';
      std::cout << b.flip(2) << '\n';
      std::cout << b.flip() << '\n';
  }

Output:


  0000
  0001
  0101
  1010

See also


           sets bits to true or given value
set (public member function)
           sets bits to false
reset (public member function)


operator&= performs binary AND, OR, XOR and NOT
operator|= (public member function)
operator^=
operator~