Namespaces
Variants

std::pmr::unsynchronized_pool_resource:: do_allocate

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)
virtual void * do_allocate ( std:: size_t bytes, std:: size_t alignment ) ;
(C++17부터)

저장소를 할당합니다.

블록 크기가 bytes 인 풀이 내부 데이터 구조에서 요청을 충족할 수 없는 경우, 상류 메모리 리소스의 allocate() 를 호출하여 메모리를 획득합니다.

요청된 크기가 가장 큰 풀이 처리할 수 있는 것보다 큰 경우, 상위 메모리 리소스에서 allocate() 를 호출하여 메모리를 할당합니다.

반환값

지정된 alignment 가 지원되는 경우 해당 정렬 방식으로 정렬되고, 그렇지 않으면 alignof ( std:: max_align_t ) 로 정렬된, 최소 bytes 바이트 크기의 할당된 저장 공간에 대한 포인터입니다.

예외

allocate() 를 업스트림 메모리 리소스에서 호출할 때 예외를 던지지 않는 한, 아무것도 던지지 않습니다.

참고 항목

메모리 할당
( std::pmr::memory_resource 의 public 멤버 함수)
[virtual]
메모리 할당
( std::pmr::memory_resource 의 virtual private 멤버 함수)