Namespaces
Variants

std:: vector<bool, Alloc>:: reference

From cppreference.net
class reference ;

Les spécialisations std::vector < bool , Alloc > définissent std::vector < bool , Alloc > :: reference comme une classe imbriquée accessible publiquement. std::vector < bool , Alloc > :: reference simule le comportement des références vers un bit unique dans std::vector < bool , Alloc > .

L'utilisation principale de std::vector < bool , Alloc > :: reference est de fournir une valeur assignable qui peut être retournée par operator [ ] .

Toute lecture ou écriture dans un vecteur qui se produit via une std::vector < bool , Alloc > :: reference peut potentiellement lire ou écrire dans l'intégralité du vecteur sous-jacent.

Table des matières

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)
flip
inverse le bit référencé
(fonction membre publique)

std::vector<bool, Alloc>::reference:: reference

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

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::vector < bool , Alloc > .

std::vector<bool, Alloc>::reference:: ~reference

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

Détruit la référence.

std::vector<bool, Alloc>::reference:: operator=

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

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

L'opérateur const operator = permet à std::vector<bool,Alloc>::iterator de satisfaire output_iterator .

(depuis C++23)

Paramètres

x - valeur à assigner

Valeur de retour

* this

std::vector<bool, Alloc>::reference:: operator bool

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

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

Valeur de retour

Le bit référencé.

std::vector<bool, Alloc>::reference:: flip

void flip ( ) ;
(noexcept depuis C++11)
(constexpr depuis C++20)

Inverse le bit référencé.

Classes d'assistance

std:: formatter <std::vector<bool, Alloc>::reference>

template < class T, class CharT >

requires /*is-vector-bool-reference*/ < T >

struct formatter < T, CharT > ;
(depuis C++23)

Spécialise le std::formatter pour std::vector < bool , Alloc > :: reference . La spécialisation utilise std:: formatter < bool , CharT > comme formateur sous-jacent (noté underlying_ ) où le bit référencé est converti en bool pour être formaté.

La constante d'exposition uniquement /*is-vector-bool-reference*/ < T > est true si et seulement si T dénote le type std::vector < bool , Alloc > :: reference pour un certain type Alloc et std::vector < bool , Alloc > n'est pas une spécialisation définie par le programme .

Fonctions membres

template < class ParseContext >
constexpr ParseContext :: iterator parse ( ParseContext & ctx ) ;
(1) (depuis C++23)
template < class FormatContext >
FormatContext :: iterator format ( const T & r, FormatContext & ctx ) const ;
(2) (depuis C++23)
1) Équivalent à return underlying_ . parse ( ctx ) ; .
2) Équivalent à return underlying_ . format ( r, ctx ) ; .

Exemple

Voir aussi

accéder à l'élément spécifié
(fonction membre publique de std::vector<T,Allocator> )
[static]
échange deux std::vector<bool>:: reference s
(fonction membre publique statique)

Liens externes

"Effective Modern C++" par Scott Meyers (2015), Chapitre 2, Item 6 : "Utilisez l'idiome d'initialiseur explicitement typé lorsque auto déduit des types non souhaités." (p.43-46) — décrit un usage potentiellement incorrect de la classe proxy std::vector<bool>::reference ).