std::experimental::ranges:: dangling, std::experimental::ranges:: safe_iterator_t
|
Definiert 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) | |
Die Klassenvorlage
dangling
ist ein einfacher Wrapper um ein Objekt, um anzuzeigen, dass das eingeschlossene Objekt möglicherweise
dangling
ist, das heißt, es verweist auf ein anderes Objekt, dessen Lebensdauer möglicherweise bereits beendet ist.
Die Alias-Vorlage
safe_iterator_t
gibt den Iteratortyp von
R
zurück, eingewickelt in
dangling
, falls der Bereich ein Rvalue-Bereich war (angezeigt dadurch, dass
R
kein Lvalue-Referenztyp ist).
Sie werden von Bereichsalgorithmen verwendet, die Rvalue-Bereiche akzeptieren und Iteratoren in diese zurückgeben.
Memberfunktionen
std::experimental::ranges::dangling:: dangling
|
dangling
(
)
requires DefaultConstructible
<
T
>
(
)
;
|
(1) | |
|
dangling
(
T t
)
;
|
(2) | |
t
. Beachten Sie, dass dieser Konstruktor eine implizite Konvertierung von
T
zu
dangling<T>
definiert.
std::experimental::ranges::dangling:: get_unsafe
|
T get_unsafe
(
)
const
;
|
||
Gibt eine Kopie des gekapselten Objekts zurück.