std::experimental::unique_resource<R, D>:: reset
From cppreference.net
<
cpp
|
experimental
|
unique resource
|
void
reset
(
)
noexcept
;
|
(1) | (library fundamentals TS v3) |
|
template
<
class
RR
>
void reset ( RR && r ) ; |
(2) | (library fundamentals TS v3) |
1)
Gibt die Ressource frei, indem der Deleter mit dem zugrundeliegenden Ressourcen-Handle aufgerufen wird, falls das
unique_resource
diese besitzt. Das
unique_resource
besitzt die Ressource nach dem Aufruf nicht mehr.
2)
Ersetzt die Ressource durch Aufruf von
(1)
und weist dann den gespeicherten Ressourcen-Handle mit
std::
forward
<
RR
>
(
r
)
zu, falls
std::
is_nothrow_assignable_v
<
RS, RR
>
true
ist, andernfalls mit
std::
as_const
(
r
)
, wobei
RS
der Typ des gespeicherten Ressourcen-Handles ist. Die
unique_resource
besitzt die Ressource nach dem Aufruf.
Wenn die Kopierzuweisung des Store-Ressourcen-Handles eine Ausnahme auslöst, ruft sie
del_
(
r
)
auf, wobei
del
das Deleter-Objekt ist.
Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn der ausgewählte Zuweisungsausdruck, der die gespeicherte Ressourcen-Handle zuweist, wohlgeformt ist.
Das Programm ist fehlerhaft, wenn
del_
(
r
)
fehlerhaft ist.
Das Verhalten ist undefiniert, wenn
del_
(
r
)
zu undefiniertem Verhalten führt oder eine Ausnahme auslöst.
Inhaltsverzeichnis |
Parameter
| r | - | Ressourcenhandle für eine neue zu verwaltende Ressource |
Rückgabewert
(keine)
Ausnahmen
2)
Jede Ausnahme, die beim Zuweisen des gespeicherten Ressourcen-Handles geworfen wird.
Hinweise
Der Mechanismus stellt sicher, dass keine Ressourcen verloren gehen.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
ersetzt das verwaltete Objekt
(öffentliche Elementfunktion von
std::unique_ptr<T,Deleter>
)
|