std::experimental::ranges:: dangling, std::experimental::ranges:: safe_iterator_t
Defined in header
<experimental/ranges/iterator>
|
||
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) | |
The class template
dangling
is a simple wrapper around an object to indicate that the wrapped object may be
dangling
, that is, it refers to another object whose lifetime may have ended.
The alias template
safe_iterator_t
returns the iterator type of
R
, wrapped in
dangling
if the range was an rvalue range (as indicated by
R
not being an lvalue reference type).
They are used by range algorithms that accept rvalue ranges and return iterators into them.
Member functions
std::experimental::ranges::dangling:: dangling
dangling
(
)
requires DefaultConstructible
<
T
>
(
)
;
|
(1) | |
dangling
(
T t
)
;
|
(2) | |
t
. Note that this constructor defines an implicit conversion from
T
to
dangling<T>
.
std::experimental::ranges::dangling:: get_unsafe
T get_unsafe
(
)
const
;
|
||
Returns a copy of the wrapped object.