std:: basic_common_reference <std::reference_wrapper>
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Non-member functions | ||||
|
(C++26)
(C++26)
|
||||
| Deduction guides (C++17) | ||||
| Helper classes | ||||
|
basic_common_reference
<std::reference_wrapper>
(C++23)
|
|
ヘッダーで定義
<functional>
|
||
|
template
<
class
R,
class
T,
template
<
class
>
RQual,
template
<
class
>
TQual
>
|
(1) | (C++23以降) |
|
template
<
class
T,
class
R,
template
<
class
>
TQual,
template
<
class
>
RQual
>
|
(2) | (C++23以降) |
|
ヘルパーコンセプト
|
||
|
template
<
class
R,
class
T,
class
RQ,
class
TQ
>
concept
/*ref-wrap-common-reference-exists-with*/
=
|
(3) | ( 説明専用* ) |
reference_wrapper
の共通参照型(
R
で示される)と型
T
の共通参照型(それぞれにcv修飾子と参照修飾子が適用されたものは
RQ
および
TQ
で示される)は、
R
の基になる型に左辺値参照を適用したものと
TQ
の共通参照型と等価です。
共通参照型は、
R
が唯一の
reference_wrapper
であり、
R
の基になる型に左辺値参照を適用したものと
TQ
が共通参照型を持ち、
RQ
がその共通参照型に変換可能でなければならない場合にのみ定義されます。
説明専用の定数 /*is-ref-wrapper*/ < R > は、 true となる場合に限り、 R が std::reference_wrapper の特殊化であることを示す。
目次 |
メンバー型
| メンバー型 | 定義 |
type
|
std:: common_reference_t < typename R :: type & , TQual < T >> ( 1,2 ) |
注記
| 機能テスト マクロ | 値 | 標準 | 機能 |
|---|---|---|---|
__cpp_lib_common_reference_wrapper
|
202302L
|
(C++23) | std::common_reference_t の std::reference_wrapper を参照型にする |
例
#include <concepts> #include <functional> static_assert(std::same_as<std::common_reference_t<int&, std::reference_wrapper<int>>, int&>); static_assert(std::same_as<std::common_reference_t<std::reference_wrapper<int>&, int&>, int&>); static_assert(std::same_as<std::common_reference_t<int&, const std::reference_wrapper<int>&>, int&>); int main() {}
関連項目
|
型のグループの共通参照型を決定する
(クラステンプレート) |