Namespaces
Variants

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

From cppreference.net
class reference ;

Las especializaciones de std::vector < bool , Alloc > definen std::vector < bool , Alloc > :: reference como una clase anidada de acceso público. std::vector < bool , Alloc > :: reference actúa como proxy del comportamiento de las referencias a un bit individual en std::vector < bool , Alloc > .

El uso principal de std::vector < bool , Alloc > :: reference es proporcionar un valor asignable que puede ser devuelto desde operator [ ] .

Cualquier lectura o escritura en un vector que ocurra a través de una std::vector < bool , Alloc > :: reference potencialmente lee o escribe en todo el vector subyacente.

Contenidos

Funciones miembro

(constructor)
construye la referencia
(función miembro pública)
(destructor)
destruye la referencia
(función miembro pública)
operator=
asigna un valor al bit referenciado
(función miembro pública)
operator bool
devuelve el bit referenciado
(función miembro pública)
flip
invierte el bit referenciado
(función miembro pública)

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

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

Construye la referencia a partir de otra referencia. El constructor de copia se declara implícitamente. (hasta C++11)

Otros constructores solo pueden ser accedidos por std::vector < bool , Alloc > .

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

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

Destruye la referencia.

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

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

Asigna un valor al bit referenciado.

El operador const operator = permite que std::vector<bool,Alloc>::iterator satisfaga output_iterator .

(desde C++23)

Parámetros

x - valor a asignar

Valor de retorno

* this

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

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

Devuelve el valor del bit referenciado.

Valor de retorno

El bit referenciado.

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

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

Invierte el bit referenciado.

Clases auxiliares

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

template < class T, class CharT >

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

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

Especializa std::formatter para std::vector < bool , Alloc > :: reference . La especialización utiliza std:: formatter < bool , CharT > como su formateador subyacente (denotado como underlying_ ) donde el bit referenciado se convierte a bool para ser formateado.

La constante solo de exposición /*is-vector-bool-reference*/ < T > es true si y solo si T denota el tipo std::vector < bool , Alloc > :: reference para algún tipo Alloc y std::vector < bool , Alloc > no es una especialización definida por el programa .

Funciones miembro

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

Ejemplo

Véase también

acceder al elemento especificado
(función miembro pública de std::vector<T,Allocator> )
[static]
intercambia dos std::vector<bool>:: reference s
(función miembro estática pública)

Enlaces externos

"Effective Modern C++" por Scott Meyers (2015), Capítulo 2, Elemento 6: "Utilice la expresión de inicialización de tipo explícito cuando auto deduce tipos no deseados." (p.43-46) — describe un posible uso incorrecto de la clase proxy std::vector<bool>::reference ).