Namensräume
Varianten
Aktionen

std::experimental::unique_resource<R, D>::reset

Von cppreference.com
 
 
 
 
 
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 zugrunde liegenden Ressourcen-Handle aufgerufen wird, falls unique_resource diese besitzt. unique_resource besitzt die Ressource nach dem Aufruf nicht mehr.
2) Ersetzt die Ressource, indem 1) aufgerufen wird, und weist dann das gespeicherte 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. unique_resource besitzt die Ressource nach dem Aufruf.
Wenn die Kopierzuweisung des gespeicherten Ressourcen-Handles eine Ausnahme wirft, wird del_(r) aufgerufen, wobei del das Deleter-Objekt ist.
Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn der ausgewählte Zuweisungsausdruck, der das gespeicherte Ressourcen-Handle zuweist, wohlgeformt ist.
Das Programm ist schlecht geformt, wenn del_(r) schlecht geformt ist.
Das Verhalten ist undefiniert, wenn del_(r) zu undefiniertem Verhalten führt oder eine Ausnahme wirft.

Inhalt

[bearbeiten] Parameter

r - Ressourcen-Handle für eine neue zu verwaltende Ressource

[bearbeiten] Rückgabewert

(keine)

[bearbeiten] Ausnahmen

2) Jede Ausnahme, die beim Zuweisen des gespeicherten Ressourcen-Handles geworfen wird.

[bearbeiten] Hinweise

Der Mechanismus stellt sicher, dass keine Ressourcen verloren gehen.

[bearbeiten] Beispiel

[bearbeiten] Siehe auch

Ersetzt das verwaltete Objekt
(öffentliche Member-Funktion von std::unique_ptr<T,Deleter>) [bearbeiten]