Namespaces
Variants

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

From cppreference.net
void reset ( ) noexcept ;
(1) (라이브러리 펀더멘털 TS v3)
template < class RR >
void reset ( RR && r ) ;
(2) (라이브러리 펀더멘털 TS v3)
1) 기본 리소스 핸들을 사용하여 삭제자를 호출하여 리소스를 처리합니다. 이는 unique_resource 가 해당 리소스를 소유하는 경우에 해당합니다. 호출 후에는 unique_resource 가 해당 리소스를 소유하지 않습니다.
2) 리소스를 (1) 을 호출하여 교체한 다음, 저장된 리소스 핸들에 std:: forward < RR > ( r ) 를 할당합니다. 단, std:: is_nothrow_assignable_v < RS, RR > true 인 경우에 한합니다. 그렇지 않은 경우 std:: as_const ( r ) 를 사용합니다. 여기서 RS 는 저장된 리소스 핸들의 타입입니다. 호출 후 unique_resource 가 리소스를 소유합니다.
저장소 리소스 핸들의 복사 할당이 예외를 발생시키는 경우, del_ ( r ) 를 호출합니다. 여기서 del 는 삭제자 객체입니다.
이 오버로드는 저장된 리소스 핸들에 대한 할당 표현식이 올바르게 형성된 경우에만 오버로드 해결에 참여합니다.
프로그램이 잘못 형성된 경우는 del_ ( r ) 가 잘못 형성된 경우입니다.
동작은 다음의 경우 정의되지 않습니다: del_ ( r ) 가 정의되지 않은 동작을 초래하거나 예외를 발생시키는 경우.

목차

매개변수

r - 관리할 새 리소스에 대한 리소스 핸들

반환값

(없음)

예외

2) 저장된 리소스 핸들을 할당하는 과정에서 발생하는 모든 예외.

참고 사항

이 메커니즘은 자원 누출이 없음을 보장합니다.

예제

참고 항목

관리되는 객체를 교체합니다
( std::unique_ptr<T,Deleter> 의 public 멤버 함수)