A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/language/../string/../named_req/../utility/bitset/reference.html below:

std::bitset<N>::reference - cppreference.com

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 lvalue 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 constructs the reference
(public member function) destroys the reference
(public member function) assigns a value to the referenced bit
(public member function) returns the referenced bit
(public member function) [edit] returns inverted referenced bit
(public member function) flips the referenced bit
(public member function) std::bitset<N>::reference::reference

reference( const reference& ) = default;

(since C++11)
(constexpr since C++23)

Constructs the reference from another reference. The copy constructor is implicitly declared.(until C++11)

Other constructors can only be accessed by std::bitset.

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

~reference();

(constexpr since C++23)

Destroys the reference.

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

reference& operator=( bool x );

(1) (noexcept since C++11)
(constexpr since C++23)

reference& operator=( const reference& x );

(2) (noexcept since C++11)
(constexpr since C++23)

Assigns a value to the referenced bit.

Parameters Return value

*this

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

operator bool() const;

(noexcept since C++11)
(constexpr since C++23)

Returns the value of the referenced bit.

Return value

The referenced bit.

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

bool operator~() const;

(noexcept since C++11)
(constexpr since C++23)

Returns the inverse of the referenced bit.

Return value

The inverse of the referenced bit.

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

reference& flip();

(noexcept since C++11)
(constexpr since C++23)

Inverts the referenced bit.

Return value

*this

[edit] Example
#include <bitset>
#include <iostream>
 
int main()
{
    std::bitset<4> bs{0b1110};
    std::bitset<4>::reference ref = bs[2];
 
    auto info = [&](int id)
    {
        std::cout << id << ") 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
[edit] See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4