Namespaces
Variants

std::scoped_allocator_adaptor<OuterAlloc,InnerAlloc...>:: outermost , outermost-construct , outermost-destroy

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
template < class Alloc >
/* unspecified */ /*outermost*/ ( Alloc && alloc = * this ) ;
(1) ( 설명 전용* )
template < class T, class ... Args >
void /*outermost-construct*/ ( T * p, Args && ... args ) ;
(2) ( 설명 전용* )
template < class T >
void /*outermost-destroy*/ ( T * p ) ;
(3) ( 설명 전용* )

이 설명 전용 헬퍼 멤버 함수 템플릿들은 멤버 함수 construct() destroy() 에서 사용됩니다.

1) alloc 의 최외부 할당자를 획득한다.
  • 표현식 alloc. outer_allocator ( ) 이 유효할 경우, outermost  ( alloc. outer_allocator ( ) ) 를 반환한다.
  • 그렇지 않을 경우, alloc 를 반환한다.
2,3) * this 의 가장 바깥쪽 할당자를 사용하여 객체를 생성하거나 파괴합니다.
주어진 타입 std:: allocator_traits < std:: remove_reference_t < decltype ( outermost  ( ) ) >> outermost_traits 로 정의:
2) outermost_traits :: construct ( outermost  ( ) , p, std:: forward < Args > ( args ) ... ) ; 와 동등합니다.
3) 다음과 동일함 outermost_traits :: destroy ( outermost  ( ) , p ) ; .

결함 보고서

다음 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 3116 C++11 outermost 에 대한 재귀 조건이 " alloc
has the member function outer_allocator() "였음
" alloc. outer_allocator ( ) is valid" 표현식으로 변경됨

참고 항목

[static]
할당된 저장 공간에 객체를 생성합니다
(function template)
[static]
할당된 저장 공간에 저장된 객체를 소멸시킵니다
(function template)