std:: owner_equal
|
헤더 파일에 정의됨
<memory>
|
||
|
struct
owner_equal
;
|
(C++26부터) | |
이 함수 객체는
std::weak_ptr
와
std::shared_ptr
모두에 대해 값 기반이 아닌 소유자 기반의 혼합 타입 동등 비교를 제공합니다. 이 비교는 두 스마트 포인터가 모두 비어 있거나 동일한 소유권을 공유하는 경우에만 동등한 것으로 판단하며,
get()
로 얻은 원시 포인터 값이 다르더라도 (예: 동일한 객체 내의 다른 서브객체를 가리키는 경우) 마찬가지입니다.
std::owner_equal
는 인수로부터 매개변수 타입을 추론합니다.
목차 |
중첩 타입
| 중첩 타입 | 정의 |
is_transparent
|
unspecified |
멤버 함수
|
operator()
|
인자를 소유자 기반 의미론을 사용하여 비교합니다
(함수) |
std::owner_equal:: operator()
|
template
<
class
T,
class
U
>
bool
operator
(
)
(
const
std::
shared_ptr
<
T
>
&
lhs,
|
(C++26부터) | |
|
template
<
class
T,
class
U
>
bool
operator
(
)
(
const
std::
shared_ptr
<
T
>
&
lhs,
|
(C++26부터) | |
|
template
<
class
T,
class
U
>
bool
operator
(
)
(
const
std::
weak_ptr
<
T
>
&
lhs,
|
(C++26부터) | |
|
template
<
class
T,
class
U
>
bool
operator
(
)
(
const
std::
weak_ptr
<
T
>
&
lhs,
|
(C++26부터) | |
lhs 와 rhs 를 소유자 기반 의미론을 사용하여 비교합니다. 효과적으로 lhs. owner_equal ( rhs ) 를 호출합니다.
동등 비교는 동치 관계입니다.
lhs 와 rhs 는 둘 다 비어 있거나 소유권을 공유하는 경우에만 동등합니다.
매개변수
| lhs, rhs | - | 비교할 공유 소유권 포인터 |
반환값
true - lhs 와 rhs 가 모두 비어 있거나 소유자 기반 동등 비교에 의해 결정된 대로 소유권을 공유하는 경우, false - 그렇지 않은 경우.
참고 사항
| 기능 테스트 매크로 | 값 | 표준 | 기능 |
|---|---|---|---|
__cpp_lib_smart_ptr_owner_equality
|
202306L
|
(C++26) |
비정렬 연관 컨테이너
에서
std::shared_ptr
와
std::weak_ptr
를 키로 사용할 수 있도록 함
|
참고 항목
|
(C++26)
|
shared pointer의 소유자 기반 동등 비교를 제공함
(
std::shared_ptr<T>
의
public member function)
|
|
(C++26)
|
weak pointer의 소유자 기반 동등 비교를 제공함
(
std::weak_ptr<T>
의
public member function)
|