Scroll to navigation

std::vector::reference(3) C++ Standard Libary std::vector::reference(3)

NAME

std::vector::reference - std::vector::reference

Synopsis


class reference;


The std::vector<bool> specialization defines std::vector<bool>::reference as a
publicly-accessible nested class. std::vector<bool>::reference proxies the behavior
of references to a single bit in std::vector<bool>.


The primary use of std::vector<bool>::reference is to provide an l-value that can be
returned from operator[].


Any reads or writes to a vector that happen via a std::vector<bool>::reference
potentially read or write to the entire underlying vector.

Member functions


constructor constructs the reference. Accessible only to std::vector<bool> itself
(public member function)
destructor destroys the reference
(public member function)
operator= assigns a bool to the referenced bit
(public member function)
operator bool returns the referenced bit
(public member function)
flip flips the referenced bit
(public member function)

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


~reference(); (until C++20)
constexpr ~reference(); (since C++20)


Destroys the reference.

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


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


Assigns a value to the referenced bit.

Parameters


x - value to assign

Return value


*this

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


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


Returns the value of the referenced bit.

Parameters


(none)

Return value


The referenced bit.

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


void flip(); (until C++11)
void flip() noexcept; (since C++11)
(until C++20)
constexpr void flip() noexcept; (since C++20)


Inverts the referenced bit.

Parameters


(none)

Return value


(none)

Example


This section is incomplete
Reason: no example

See also


operator[] access specified element
(public member function of std::vector<T,Allocator>)
swap swaps two std::vector<bool>::references
[static] (public static member function)

2022.07.31 http://cppreference.com