FreeBSD Manual Pages
std::bitset::reference(3) C++ Standard Libary std::bitset::reference(3) NAME std::bitset::reference - std::bitset::reference Synopsis 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 refer- ences 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::ref- erence potentially read or write to the entire underlying bitset. Member functions constructor constructs the reference. Accessible only to std::bit- set itself (private member function) destructor destroys the reference (public member function) operator= assigns a bool to the referenced bit (public member function) operator bool returns the referenced bit (public member function) operator~ returns inverted referenced bit (public member function) flip flips the referenced bit (public member function) std::bitset<N>::reference::~reference ~reference(); (until C++23) constexpr ~reference(); (since C++23) Destroys the reference. std::bitset<N>::reference::operator= reference& operator=( bool x ); (until C++11) reference& operator=( bool x ) noexcept; (since C++11) (until C++23) constexpr reference& operator=( bool x ) (since C++23) noexcept; (1) reference& operator=( const reference& x ); (until C++11) reference& operator=( const reference& x ) (since C++11) noexcept; (2) (until C++23) constexpr reference& operator=( const reference& (since C++23) x ) noexcept; Assigns a value to the referenced bit. Parameters x - value to assign Return value *this std::bitset<N>::reference::operator bool operator bool() const; (until C++11) operator bool() const noexcept; (since C++11) (until C++23) constexpr operator bool() const noexcept; (since C++23) Returns the value of the referenced bit. Parameters (none) Return value The referenced bit. std::bitset<N>::reference::operator~ bool operator~() const; (until C++11) bool operator~() const noexcept; (since C++11) (until C++23) constexpr bool operator~() const noexcept; (since C++23) Returns the inverse of the referenced bit. Parameters (none) Return value The inverse of the referenced bit. std::bitset<N>::reference::flip reference& flip(); (until C++11) reference& flip() noexcept; (since C++11) (until C++23) constexpr reference& flip() noexcept; (since C++23) Inverts the referenced bit. Parameters (none) Return value *this Example // Run this code #include <bitset> #include <iostream> int main() { std::bitset<4> bs( 0b1110 ); std::bitset<4>::reference ref = bs[2]; // auto ref = bs[2]; auto info = [&](int n) { std::cout << n << ") bs: " << bs << "; ref bit: " << ref << '\n'; }; info(1); ref = false; info(2); ref = true; info(3); ref.flip(); info(4); ref = bs[1]; // operator=( const reference& x ) info(5); std::cout << "6) ~ref bit: " << ~ref << '\n'; } Output: 1) bs: 1110; ref bit: 1 2) bs: 1010; ref bit: 0 3) bs: 1110; ref bit: 1 4) bs: 1010; ref bit: 0 5) bs: 1110; ref bit: 1 6) ~ref bit: 0 See also operator[] accesses specific bit (public member function) http://cppreference.com 2022.07.31 std::bitset::reference(3)
NAME | Synopsis | Member functions | Parameters | Return value | Parameters | Return value | Parameters | Return value | Parameters | Return value | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::bitset::reference&sektion=3&manpath=FreeBSD+Ports+15.0>
