std::vector<bool, Alloc>::reference
class reference;
|
||
The std::vector<bool, Alloc> specializations define std::vector<bool, Alloc>::reference as a publicly-accessible nested class. std::vector<bool, Alloc>::reference proxies the behavior of references to a single bit in std::vector<bool, Alloc>.
The primary use of std::vector<bool, Alloc>::reference is to provide an lvalue that can be returned from operator[].
Any reads or writes to a vector that happen via a std::vector<bool, Alloc>::reference potentially read or write to the entire underlying vector.
Member functions
(constructor) |
constructs the reference (public member function) |
(destructor) |
destroys the reference (public member function) |
operator= |
assigns a value to the referenced bit (public member function) |
| returns the referenced bit (public member function) | |
flip |
flips the referenced bit (public member function) |
std::vector<bool, Alloc>::reference::reference
reference( const reference& ) = default;
|
(since C++11) (constexpr since C++20) |
|
Constructs the reference from another reference. The copy constructor is implicitly declared.(until C++11)
Other constructors can only be accessed by std::vector<bool, Alloc>.
std::vector<bool, Alloc>::reference::~reference
~reference();
|
(constexpr since C++20) | |
Destroys the reference.
std::vector<bool, Alloc>::reference::operator=
reference& operator=( bool x );
|
(1) | (noexcept since C++11) (constexpr since C++20) |
constexpr const reference& operator=( bool x ) const noexcept;
|
(2) | (since C++23) |
reference& operator=( const reference& x );
|
(3) | (noexcept since C++11) (constexpr since C++20) |
Assigns a value to the referenced bit.
Parameters
| x | - | value to assign |
Return value
*this
std::vector<bool, Alloc>::reference::operator bool
operator bool() const;
|
(noexcept since C++11) (constexpr since C++20) |
|
Returns the value of the referenced bit.
Return value
The referenced bit.
std::vector<bool, Alloc>::reference::flip
void flip();
|
(noexcept since C++11) (constexpr since C++20) |
|
Inverts the referenced bit.
Helper classes
std::formatter<std::vector<bool, Alloc>::reference>
template< class T, class CharT >
requires /*is-vector-bool-reference*/<T>
struct formatter<T, CharT>;
|
(since C++23) | |
Specializes the std::formatter for std::vector<bool, Alloc>::reference. The specialization uses std::formatter<bool, CharT> as its underlying formatter (denoted as underlying_) where the referenced bit is converted to bool to be formatted.
The exposition-only constant /*is-vector-bool-reference*/<T> is true if and only if T denotes the type std::vector<bool, Alloc>::reference for some type Alloc and std::vector<bool, Alloc> is not a program-defined specialization.
Member functions
template< class ParseContext >
constexpr ParseContext::iterator parse( ParseContext& ctx );
|
(1) | (since C++23) |
template< class FormatContext >
FormatContext::iterator format( const T& r, FormatContext& ctx ) const;
|
(2) | (since C++23) |
return underlying_.parse(ctx);.return underlying_.format(r, ctx);.
Example
| This section is incomplete Reason: no example |
See also
| access specified element (public member function of std::vector<T,Allocator>)
| |
[static] |
swaps two std::vector<bool>::references (public static member function) |
