std::experimental::pmr:: resource_adaptor, std::pmr::experimental:: resource_adaptor
|
헤더 파일에 정의됨
<experimental/memory_resource>
|
||
|
template
<
class
Alloc
>
using
resource_adaptor
=
/*resource-adaptor-imp*/
<
|
(라이브러리 펀더멘털 TS) | |
|
template
<
class
Alloc
>
class /*resource-adaptor-imp*/ : public memory_resource ; // 설명 전용 |
(라이브러리 펀더멘털 TS) | |
앨리어스 템플릿
resource_adaptor
는 할당자 타입
Alloc
을
memory_resource
인터페이스로 적응시킵니다. 할당자는 실제로 적응되기 전에(
resource-adaptor-imp
클래스 템플릿을 사용하여)
char
값 타입으로 리바운드되므로, 동일한 할당자 템플릿의 특수화를 적응시키는 것은 원래 할당자 템플릿이 인스턴스화된 값 타입에 관계없이 항상 동일한 타입을 생성합니다.
|
|
(라이브러리 펀더멘털 TS)
(라이브러리 펀더멘털 TS v3 이전) |
|
|
(라이브러리 펀더멘털 TS v3) |
resource-adaptor-imp
는 아래에서 설명하는 멤버들을 가진 클래스 템플릿입니다.
resource-adaptor-imp
이름은 설명 목적으로만 사용되며 규범적이지 않습니다.
Allocator
요구사항을 충족하는 것 외에도,
Alloc
은 다음 요구사항들을 추가적으로 만족해야 합니다:
- std:: allocator_traits < Alloc > :: pointer 는 Alloc :: value_type * 와 동일해야 합니다.
- std:: allocator_traits < Alloc > :: const_pointer 는 Alloc :: value_type const * 와 동일해야 합니다.
- std:: allocator_traits < Alloc > :: void_pointer 는 void * 와 동일해야 합니다.
- std:: allocator_traits < Alloc > :: const_const_pointer 는 void const * 와 동일해야 합니다.
resource-adaptor-imp 의 멤버 타입
| 멤버 타입 | 정의 |
allocator_type
|
Alloc
|
resource-adaptor-imp 의 멤버 함수
resource-adaptor-imp :: resource-adaptor-imp
|
/*resource-adaptor-imp*/
(
)
=
default
;
|
(1) | (library fundamentals TS) |
|
/*resource-adaptor-imp*/
(
const
/*resource-adaptor-imp*/
&
other
)
= default ; |
(2) | (library fundamentals TS) |
|
/*resource-adaptor-imp*/
(
/*resource-adaptor-imp*/
&&
other
)
= default ; |
(3) | (library fundamentals TS) |
|
explicit
/*resource-adaptor-imp*/
(
const
Alloc
&
a2
)
;
|
(4) | (library fundamentals TS) |
|
explicit
/*resource-adaptor-imp*/
(
Alloc
&&
a2
)
;
|
(5) | (library fundamentals TS) |
other
가 래핑한 할당자로부터 래핑된 할당자를 복사 생성합니다.
other
가 래핑한 할당자로부터 래핑된 할당자를 이동 생성합니다.
a2
로 래핑된 할당자를 초기화합니다.
매개변수
| other | - |
복사 또는 이동할 다른
resource-adaptor-imp
객체
|
| a2 | - |
복사 또는 이동할 다른
Alloc
객체
|
resource-adaptor-imp :: get_allocator
|
allocator_type get_allocator
(
)
const
;
|
(library fundamentals TS) | |
래핑된 할당자의 복사본을 반환합니다.
resource-adaptor-imp :: operator=
|
/*resource-adaptor-imp*/
&
operator
=
(
const
/*resource-adaptor-imp*/
&
other
)
= default ; |
(library fundamentals TS) | |
기본으로 제공되는 복사 할당 연산자.
other
의 래핑된 할당자를 복사 할당합니다.
resource-adaptor-imp :: do_allocate
|
protected
:
virtual void * do_allocate ( std:: size_t bytes, std:: size_t alignment ) ; |
(라이브러리 fundamentals TS) | |
래핑된 할당자의
allocate
멤버 함수를 사용하여 메모리를 할당합니다.
resource-adaptor-imp :: do_deallocate
|
protected
:
virtual void do_deallocate ( void * p, std:: size_t bytes, std:: size_t alignment ) ; |
(library fundamentals TS) | |
p
가 가리키는 저장 공간을 래핑된 할당자의
deallocate
멤버 함수를 사용하여 해제합니다.
p
는 래핑된 할당자와 비교 시 동일한 할당자의
allocate
멤버 함수를 사용하여 할당되어야 하며, 이후에 해제되지 않은 상태여야 합니다.
resource-adaptor-imp :: do_is_equal
|
protected
:
virtual bool do_is_equal ( const memory_resource & other ) const noexcept ; |
(라이브러리 fundamentals TS) | |
p
를
dynamic_cast
<
const
/*resource-adaptor-imp*/
*
>
(
&
other
)
로 설정합니다. 만약
p
가 null 포인터 값이면
false
를 반환합니다. 그렇지 않으면,
*
p
와
*
this
가 래핑한 할당자를
operator
==
를 사용하여 비교한 결과를 반환합니다.