##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# 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`.

### [edit] Parameters

pos | - | the position of the bit to flip

### [edit] Return value

*this

### [edit] 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.

### [edit] 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

### [edit] See also

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

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