# std::bitset::flip

From cppreference.com
< cpp‎ | utility‎ | bitset

bitset<N>& flip(); | (1) |
bitset<N>& flip( 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

1)

(none) | (until C++11)
`noexcept` specification: noexcept | (since C++11)

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

set | sets bits to true or given value (public member function)
reset | sets bits to false (public member function)
operator&=operator|=operator^=operator~ | performs binary AND, OR, XOR and NOT (public member function)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/utility/bitset/flip&oldid=91681"
Category:

- unconditionally noexcept

Hidden categories:

- Pages with unreviewed unconditional noexcept template
- Pages with unreviewed noexcept template