std::bitset<N>:: reference
|
class
reference
;
|
||
std::bitset
クラスは、公開アクセス可能なネストされたクラスとして
std::bitset::reference
を含みます。このクラスは、個々のビットを指定するための十分な精度で標準C++型(参照やポインタなど)が構築されていないため、ユーザーがビットセットの個々のビットと対話できるようにするプロキシオブジェクトとして使用されます。
std::bitset::reference
の主な用途は、
operator[]
から返されるlvalueを提供することです。
bitsetへの読み取りまたは書き込みは、
std::bitset::reference
を介して行われる場合、基盤となるbitset全体に対して読み取りまたは書き込みが行われる可能性があります。
目次 |
メンバー関数
|
(constructor)
|
参照を構築する
(public member function) |
|
(destructor)
|
参照を破棄する
(public member function) |
|
operator=
|
参照先のビットに値を代入する
(public member function) |
|
operator bool
|
参照先のビットを返す
(public member function) |
|
operator~
|
反転した参照先ビットを返す
(public member function) |
|
flip
|
参照先のビットを反転する
(public member function) |
std::bitset<N>::reference:: reference
|
reference
(
const
reference
&
)
=
default
;
|
(C++11以降)
(constexpr C++23以降) |
|
他の参照から参照を構築します。 コピーコンストラクタは暗黙的に宣言されます。 (C++11以前)
他のコンストラクタは
std::bitset
からのみアクセス可能です。
std::bitset<N>::reference:: ~reference
|
~reference
(
)
;
|
(constexpr since C++23) | |
参照を破棄します。
std::bitset<N>::reference:: operator=
|
reference
&
operator
=
(
bool
x
)
;
|
(1) |
(C++11以降 noexcept)
(C++23以降 constexpr) |
|
reference
&
operator
=
(
const
reference
&
x
)
;
|
(2) |
(C++11以降 noexcept)
(C++23以降 constexpr) |
参照先のビットに値を代入します。
パラメータ
| x | - | 代入する値 |
戻り値
* this
std::bitset<N>::reference:: operator bool
|
operator
bool
(
)
const
;
|
(C++11以降 noexcept)
(C++23以降 constexpr) |
|
参照されているビットの値を返します。
戻り値
参照されているビット。
std::bitset<N>::reference:: operator~
|
bool
operator~
(
)
const
;
|
(C++11以降 noexcept)
(C++23以降 constexpr) |
|
参照されているビットの反転値を返します。
戻り値
参照されているビットの反転値。
std::bitset<N>::reference:: flip
|
reference
&
flip
(
)
;
|
(C++11以降 noexcept)
(C++23以降 constexpr) |
|
参照されているビットを反転します。
戻り値
* this
例
#include <bitset> #include <iostream> int main() { std::bitset<4> bs{0b1110}; std::bitset<4>::reference ref = bs[2]; auto info = [&](int id) { std::cout << id << ") bs: " << bs << "; ref bit: " << ref << '\n'; }; info(1); ref = false; info(2); ref = true; info(3); ref.flip(); info(4); ref = bs[1]; // operator=( const reference& x ) info(5); std::cout << "6) ~ref bit: " << ~ref << '\n'; }
出力:
1) bs: 1110; ref bit: 1 2) bs: 1010; ref bit: 0 3) bs: 1110; ref bit: 1 4) bs: 1010; ref bit: 0 5) bs: 1110; ref bit: 1 6) ~ref bit: 0
関連項目
|
特定のビットにアクセス
(公開メンバ関数) |