std::experimental::unique_resource<R, D>:: reset
From cppreference.net
<
cpp
|
experimental
|
unique resource
|
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 멤버 함수)
|