Namespaces
Variants

std::bitset<N>::reference

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (obsolète en C++20)
Fonctions de comparaison d'entiers
(C++20)(C++20)(C++20)    
(C++20)
Swap et opérations de type
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Types de vocabulaire courants
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
class reference;

La classe std::bitset inclut std::bitset::reference comme une classe imbriquée accessible publiquement. Cette classe est utilisée comme un objet proxy pour permettre aux utilisateurs d'interagir avec des bits individuels d'un bitset, car les types standard C++ (comme les références et les pointeurs) ne sont pas suffisamment précis pour spécifier des bits individuels.

L'utilisation principale de std::bitset::reference est de fournir une lvalue qui peut être retournée par operator[].

Toute lecture ou écriture sur un bitset effectuée via un std::bitset::reference peut potentiellement lire ou écrire l'intégralité du bitset sous-jacent.

Fonctions membres

(constructor)
construit la référence
(fonction membre publique)
(destructor)
détruit la référence
(fonction membre publique)
operator=
assigne une valeur au bit référencé
(fonction membre publique)
operator bool
retourne le bit référencé
(fonction membre publique)
operator~
retourne le bit référencé inversé
(fonction membre publique)
flip
inverse le bit référencé
(fonction membre publique)

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

reference ( const reference & ) = default ;
(depuis C++11)
(constexpr depuis C++23)

Construit la référence à partir d'une autre référence. Le constructeur de copie est implicitement déclaré. (jusqu'à C++11)

Les autres constructeurs ne peuvent être accédés que par std::bitset .

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

~reference ( ) ;
(constexpr depuis C++23)

Détruit la référence.

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

reference & operator = ( bool x ) ;
(1) (noexcept depuis C++11)
(constexpr depuis C++23)
reference & operator = ( const reference & x ) ;
(2) (noexcept depuis C++11)
(constexpr depuis C++23)

Assigne une valeur au bit référencé.

Paramètres

x - valeur à assigner

Valeur de retour

* this

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

operator bool ( ) const ;
(noexcept depuis C++11)
(constexpr depuis C++23)

Retourne la valeur du bit référencé.

Valeur de retour

Le bit référencé.

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

bool operator~ ( ) const ;
(noexcept depuis C++11)
(constexpr depuis C++23)

Retourne l'inverse du bit référencé.

Valeur de retour

L'inverse du bit référencé.

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

reference & flip ( ) ;
(noexcept depuis C++11)
(constexpr depuis C++23)

Inverse le bit référencé.

Valeur de retour

* this

Exemple

#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';
}

Sortie :

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

Voir aussi

accède à un bit spécifique
(fonction membre publique)