std:: vector<bool, Alloc>:: reference
|
class
reference
;
|
||
Die
std::vector
<
bool
, Alloc
>
Spezialisierungen definieren
std::vector
<
bool
, Alloc
>
::
reference
als eine öffentlich zugängliche geschachtelte Klasse.
std::vector
<
bool
, Alloc
>
::
reference
simuliert das Verhalten von Referenzen auf ein einzelnes Bit in
std::vector
<
bool
, Alloc
>
.
Der Hauptzweck von
std::vector
<
bool
, Alloc
>
::
reference
ist es, einen zuweisbaren Wert bereitzustellen, der von
operator
[
]
zurückgegeben werden kann.
Jedes Lesen oder Schreiben an einem Vektor, das über einen
std::vector
<
bool
, Alloc
>
::
reference
erfolgt, liest oder schreibt potenziell auf den gesamten zugrundeliegenden Vektor.
Memberfunktionen
|
(constructor)
|
konstruiert die Referenz
(public member function) |
|
(destructor)
|
zerstört die Referenz
(public member function) |
|
operator=
|
weist dem referenzierten Bit einen Wert zu
(public member function) |
|
operator bool
|
gibt das referenzierte Bit zurück
(public member function) |
|
flip
|
invertiert das referenzierte Bit
(public member function) |
std::vector<bool, Alloc>::reference:: reference
|
reference
(
const
reference
&
)
=
default
;
|
(seit C++11)
(constexpr seit C++20) |
|
Konstruiert die Referenz aus einer anderen Referenz. Der Kopierkonstruktor ist implizit deklariert. (bis C++11)
Andere Konstruktoren können nur durch
std::vector
<
bool
, Alloc
>
aufgerufen werden.
std::vector<bool, Alloc>::reference:: ~reference
|
~reference
(
)
;
|
(constexpr seit C++20) | |
Zerstört die Referenz.
std::vector<bool, Alloc>::reference:: operator=
|
reference
&
operator
=
(
bool
x
)
;
|
(1) |
(noexcept seit C++11)
(constexpr seit C++20) |
|
constexpr
const
reference
&
operator
=
(
bool
x
)
const
noexcept
;
|
(2) | (seit C++23) |
|
reference
&
operator
=
(
const
reference
&
x
)
;
|
(3) |
(noexcept seit C++11)
(constexpr seit C++20) |
Weist dem referenzierten Bit einen Wert zu.
|
Der const
operator
=
ermöglicht es
|
(seit C++23) |
Parameter
| x | - | zuzuweisender Wert |
Rückgabewert
* this
std::vector<bool, Alloc>::reference:: operator bool
|
operator
bool
(
)
const
;
|
(noexcept seit C++11)
(constexpr seit C++20) |
|
Gibt den Wert des referenzierten Bits zurück.
Rückgabewert
Das referenzierte Bit.
std::vector<bool, Alloc>::reference:: flip
|
void
flip
(
)
;
|
(noexcept seit C++11)
(constexpr seit C++20) |
|
Invertiert das referenzierte Bit.
Hilfsklassen
std:: formatter <std::vector<bool, Alloc>::reference>
|
template
<
class
T,
class
CharT
>
requires
/*is-vector-bool-reference*/
<
T
>
|
(seit C++23) | |
Spezialisiert den
std::formatter
für
std::vector
<
bool
, Alloc
>
::
reference
. Die Spezialisierung verwendet
std::
formatter
<
bool
, CharT
>
als zugrundeliegenden Formatter (bezeichnet als
underlying_
), wobei das referenzierte Bit zu
bool
konvertiert wird, um formatiert zu werden.
Die nur zur Darstellung dienende Konstante
/*is-vector-bool-reference*/
<
T
>
ist
true
genau dann, wenn
T
den Typ
std::vector
<
bool
, Alloc
>
::
reference
für einen Typ
Alloc
bezeichnet und
std::vector
<
bool
, Alloc
>
keine
programmdefinierte Spezialisierung
ist.
Memberfunktionen
|
template
<
class
ParseContext
>
constexpr ParseContext :: iterator parse ( ParseContext & ctx ) ; |
(1) | (seit C++23) |
|
template
<
class
FormatContext
>
FormatContext :: iterator format ( const T & r, FormatContext & ctx ) const ; |
(2) | (seit C++23) |
underlying_
.
parse
(
ctx
)
;
.
underlying_
.
format
(
r, ctx
)
;
.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
Zugriff auf spezifisches Element
(öffentliche Elementfunktion von
std::vector<T,Allocator>
)
|
|
|
[static]
|
tauscht zwei
std::vector<bool>::
reference
s
(öffentliche statische Elementfunktion) |
Externe Links
"Effective Modern C++" von Scott Meyers (2015), Kapitel 2, Punkt 6: "Verwenden Sie die explizit typisierte Initialisierungs-Idiom, wenn
auto
unerwünschte Typen ableitet." (S.43-46) — beschreibt einen möglichen Missbrauch der Proxy-Klasse
std::vector<bool>::reference
).
|