std::experimental::ranges:: dangling, std::experimental::ranges:: safe_iterator_t
|
Défini dans l'en-tête
<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) | |
Le modèle de classe
dangling
est un simple wrapper autour d'un objet pour indiquer que l'objet encapsulé peut être
pendant
, c'est-à-dire qu'il fait référence à un autre objet dont la durée de vie peut avoir pris fin.
L'alias template
safe_iterator_t
retourne le type d'itérateur de
R
, encapsulé dans
dangling
si la plage était une plage rvalue (comme indiqué par
R
n'étant pas un type référence lvalue).
Ils sont utilisés par les algorithmes de plage qui acceptent les plages de rvalue et renvoient des itérateurs vers celles-ci.
Fonctions membres
std::experimental::ranges::dangling:: dangling
|
dangling
(
)
requires DefaultConstructible
<
T
>
(
)
;
|
(1) | |
|
dangling
(
T t
)
;
|
(2) | |
t
. Notez que ce constructeur définit une conversion implicite de
T
vers
dangling<T>
.
std::experimental::ranges::dangling:: get_unsafe
|
T get_unsafe
(
)
const
;
|
||
Retourne une copie de l'objet encapsulé.