scoped_allocator_adaptor 클래스
할당자의 소굴을 나타냅니다.
template<class Outer, class... Inner>
class scoped_allocator_adaptor;
설명
하나 이상의 할당자의 소굴 템플릿 클래스를 캡슐화합니다.이러한 각 클래스는 형식의 바깥쪽 할당자 했습니다 outer_allocator_type, 동의어에 대 한 Outer, 속해 있는 공용 자료는 scoped_allocator_adaptor 개체.Outer컨테이너에서 사용 하는 메모리를 할당 하는 데 사용 됩니다.이 할당자 기본 개체에 대 한 참조를 호출 하 여 얻을 수 있습니다 outer_allocator.
나머지는 중첩 형식이 inner_allocator_type.요소는 컨테이너에 대 한 메모리를 할당 하는 내부 할당 자가 사용 됩니다.이 유형의 저장 된 개체에 대 한 참조를 호출 하 여 얻을 수 있습니다 inner_allocator.경우 Inner... 비어 있지 않은 inner_allocator_type 형식이 scoped_allocator_adaptor<Inner...>, 및 inner_allocator 구성원 개체를 지정 합니다.그렇지 않으면 inner_allocator_type 형식이 scoped_allocator_adaptor<Outer>, 및 inner_allocator 전체 개체를 지정 합니다.
제는 임의의 깊이, 그 안쪽의 캡슐화 된 할당자를 필요에 따라 복제 처럼 동작 합니다.
표시 된 인터페이스의 일부가 아닌 여러 개념에서이 템플릿 클래스의 동작을 설명 하는 도움을 줍니다.바깥쪽 할당자 구문에 대 한 모든 호출은 중개 및 메서드를 제거 합니다.효과적으로 재귀 함수에 의해 정의 된 OUTERMOST(X)여기서 OUTERMOST(X) 중 하나입니다.
If X.outer_allocator() is well formed, then OUTERMOST(X) is OUTERMOST(X.outer_allocator()).
그렇지 않으면 OUTERMOST(X)는 X입니다.
쉽게 하기 위해 세 가지 종류를 정의 합니다.
형식 |
설명 |
---|---|
Outermost |
OUTERMOST(*this)의 형식입니다. |
Outermost_traits |
allocator_traits<Outermost> |
Outer_traits |
allocator_traits<Outer> |
생성자
Name |
설명 |
---|---|
scoped_allocator_adaptor 개체를 생성합니다. |
형식 정의
Name |
설명 |
---|---|
const_pointer |
이 종류는 동일의 const_pointer 는 할당자와 연결 된 Outer. |
const_void_pointer |
이 종류는 동일의 const_void_pointer 는 할당자와 연결 된 Outer. |
difference_type |
이 종류는 동일의 difference_type 는 할당자와 연결 된 Outer. |
inner_allocator_type |
이 형식이 중첩된 어댑터 유형에 대 한 동의어 scoped_allocator_adaptor<Inner...>. |
outer_allocator_type |
이 종류는 기본 할당자 형식을 동일 Outer. |
pointer |
이 종류는 동일의 pointer 할당자와 연결 된 Outer. |
propagate_on_container_copy_assignment |
형식 true 경우에 보유 Outer_traits::propagate_on_container_copy_assignment 마찬가지 또는 inner_allocator_type::propagate_on_container_copy_assignment 도 마찬가지입니다. |
propagate_on_container_move_assignment |
형식 true 경우에 보유 Outer_traits::propagate_on_container_move_assignment 마찬가지 또는 inner_allocator_type::propagate_on_container_move_assignment 도 마찬가지입니다. |
propagate_on_container_swap |
형식 true 경우에 보유 Outer_traits::propagate_on_container_swap 마찬가지 또는 inner_allocator_type::propagate_on_container_swap 도 마찬가지입니다. |
size_type |
이 종류는 동일의 size_type 할당자와 연결 된 Outer. |
value_type |
이 종류는 동일의 value_type 할당자와 연결 된 Outer. |
void_pointer |
이 종류는 동일의 void_pointer 할당자와 연결 된 Outer. |
Structs
Name |
설명 |
---|---|
형식 정의 Outer::rebind<Other>::other 의 동의어로 scoped_allocator_adaptor<Other, Inner...>. |
메서드
Name |
설명 |
---|---|
사용 하 여 메모리 할당을 Outer 할당자. |
|
개체를 생성합니다. |
|
외부 할당자를 사용 하 여 개체를 할당 합니다. |
|
지정 된 개체를 소멸 시킵니다. |
|
저장 된 개체 형식에 대 한 참조를 검색 합니다. inner_allocator_type. |
|
외부 할당자에서 할당할 수 있는 개체의 최대 수를 결정 합니다. |
|
저장 된 개체 형식에 대 한 참조를 검색 합니다. outer_allocator_type. |
|
scoped_allocator_adaptor::select_on_container_copy_construction 메서드 |
새 scoped_allocator_adaptor 개체 초기화를 호출 하 여 각 저장된 할당 기 개체와 select_on_container_copy_construction 에 대 한 각 해당 할당자. |
요구 사항
헤더: <scoped_allocator>
네임 스페이스: std