##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::bitset::reference

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

class reference; |  |

The std::bitset class includes std::bitset::reference as a publicly-accessible nested class. This class is used as a proxy object to allow users to interact with individual bits of a bitset, since standard C++ types (like references and pointers) are not built with enough precision to specify individual bits.

The primary use of std::bitset::reference is to provide an l-value that can be returned from `operator[]`.

Any reads or writes to a bitset that happen via a std::bitset::reference potentially read or write to the entire underlying bitset.

### [edit] Member functions

(constructor) | constructs the reference. Accessible only to std::bitset itself (private member function)
(destructor) | ~reference (public member function)
operator= | assigns a bool to the referenced bit (public member function)
operator bool | returns the referenced bit (public member function) [edit]
operator ~ | returns inverted referenced bit (public member function)
flip | flips the referenced bit (public member function)

# std::bitset<N>::reference::~reference

~reference() |  |

Destroys the reference.

# std::bitset<N>::reference::operator=

reference& operator=( bool x ); reference& operator=( const reference& x ); |  |

Assigns a value to the referenced bit.

### Parameters

x | - | value to assign

### Return value

*this

### Exceptions

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

# std::bitset<N>::reference::operator bool

operator bool() const; |  |

Returns the value of the referenced bit.

### Parameters

(none)

### Return value

The referenced bit.

### Exceptions

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

# std::bitset<N>::reference::operator~

bool operator~() const; |  |

Returns the inverse of the referenced bit.

### Parameters

(none)

### Return value

The inverse of the referenced bit.

### Exceptions

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

# std::bitset<N>::reference::flip

reference& flip(); |  |

Inverts the referenced bit.

### Parameters

(none)

### Return value

*this

### Exceptions

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

### [edit] See also

operator[] | accesses specific bit (public member function) [edit]

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