std::experimental::ranges:: dangling, std::experimental::ranges:: safe_iterator_t
|
Definido en el encabezado
<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) | |
La plantilla de clase
dangling
es un contenedor simple alrededor de un objeto para indicar que el objeto contenido puede estar
colgando
, es decir, hace referencia a otro objeto cuyo tiempo de vida puede haber finalizado.
La plantilla de alias
safe_iterator_t
devuelve el tipo iterador de
R
, envuelto en
dangling
si el rango era un rango rvalue (como se indica por
R
no siendo un tipo de referencia lvalue).
Se utilizan por algoritmos de rango que aceptan rangos rvalue y devuelven iteradores hacia ellos.
Funciones miembro
std::experimental::ranges::dangling:: dangling
|
dangling
(
)
requires DefaultConstructible
<
T
>
(
)
;
|
(1) | |
|
dangling
(
T t
)
;
|
(2) | |
t
. Nótese que este constructor define una conversión implícita de
T
a
dangling<T>
.
std::experimental::ranges::dangling:: get_unsafe
|
T get_unsafe
(
)
const
;
|
||
Devuelve una copia del objeto encapsulado.