Namespaces
Variants

std::experimental::pmr:: resource_adaptor, std::pmr::experimental:: resource_adaptor

From cppreference.net
헤더 파일에 정의됨 <experimental/memory_resource>
template < class Alloc >

using resource_adaptor = /*resource-adaptor-imp*/ <
typename std:: allocator_traits < Alloc > ::

template rebind_alloc < char >> ;
(라이브러리 펀더멘털 TS)
template < class Alloc >
class /*resource-adaptor-imp*/ : public memory_resource ; // 설명 전용
(라이브러리 펀더멘털 TS)

앨리어스 템플릿 resource_adaptor 는 할당자 타입 Alloc memory_resource 인터페이스로 적응시킵니다. 할당자는 실제로 적응되기 전에( resource-adaptor-imp 클래스 템플릿을 사용하여) char 값 타입으로 리바운드되므로, 동일한 할당자 템플릿의 특수화를 적응시키는 것은 원래 할당자 템플릿이 인스턴스화된 값 타입에 관계없이 항상 동일한 타입을 생성합니다.

resource_adaptor 는 네임스페이스 std::experimental::pmr 에 정의되어 있으며, 이 페이지의 기본 타입 memory_resorce std::experimental::pmr::memory_resource 입니다.

(라이브러리 펀더멘털 TS)
(라이브러리 펀더멘털 TS v3 이전)

resource_adaptor 는 네임스페이스 std::pmr::experimental 에 정의되어 있으며, 이 페이지의 기본 타입 memory_resorce std::pmr::memory_resource 입니다.

(라이브러리 펀더멘털 TS v3)

resource-adaptor-imp 는 아래에서 설명하는 멤버들을 가진 클래스 템플릿입니다. resource-adaptor-imp 이름은 설명 목적으로만 사용되며 규범적이지 않습니다.

Allocator 요구사항을 충족하는 것 외에도, Alloc 은 다음 요구사항들을 추가적으로 만족해야 합니다:

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)
1) 기본 생성자. 래핑된 할당자를 기본 생성합니다.
2) 복사 생성자. other 가 래핑한 할당자로부터 래핑된 할당자를 복사 생성합니다.
3) 이동 생성자. other 가 래핑한 할당자로부터 래핑된 할당자를 이동 생성합니다.
4) a2 로 래핑된 할당자를 초기화합니다.
5) std :: move ( 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 == 를 사용하여 비교한 결과를 반환합니다.