std::experimental::ranges:: dangling, std::experimental::ranges:: safe_iterator_t
|
template
<
CopyConstructible T
>
class
dangling
{
|
(ranges TS) | |
|
template
<
Range R
>
using
safe_iterator_t
=
std::
conditional_t
<
std::
is_lvalue_reference
<
R
>
::
value
,
|
(ranges TS) | |
クラステンプレート
dangling
は、ラップされたオブジェクトが
dangling
状態、すなわち寿命が終了した可能性のある別のオブジェクトを参照している可能性があることを示すためのシンプルなラッパーです。
エイリアステンプレート
safe_iterator_t
は、
R
のイテレータ型を返します。範囲が右辺値範囲であった場合(
R
が左辺値参照型でないことによって示される)、
dangling
でラップされます。
これらは、右辺値範囲を受け入れ、それらへのイテレータを返す範囲アルゴリズムによって使用されます。
メンバー関数
std::experimental::ranges::dangling:: dangling
|
dangling
(
)
requires DefaultConstructible
<
T
>
(
)
;
|
(1) | |
|
dangling
(
T t
)
;
|
(2) | |
t
でラップされたオブジェクトを初期化します。このコンストラクタは
T
から
dangling<T>
への暗黙変換を定義することに注意してください。
std::experimental::ranges::dangling:: get_unsafe
|
T get_unsafe
(
)
const
;
|
||
ラップされたオブジェクトのコピーを返します。