다음을 통해 공유


rts_alloc 클래스

rts_alloc 클래스 템플릿은 캐시 인스턴스 배열을 보유하는 필터를 설명하고 컴파일 시간이 아닌 런타임에 할당 및 할당 취소에 사용할 인스턴스를 결정합니다.

구문

template <class Cache>
class rts_alloc

매개 변수

캐시
배열에 포함된 캐시 인스턴스의 형식입니다. 또는 .cache_freelistcache_suballoccache_chunklist수 있습니다.

설명

이 클래스 템플릿은 여러 블록 할당자 인스턴스를 보유하며 컴파일 시간이 아닌 런타임 시 할당 또는 할당 취소에 사용할 인스턴스를 결정합니다. rebind를 컴파일할 수 없는 컴파일러에서 사용됩니다.

멤버 함수

멤버 함수 설명
allocate 메모리 블록을 할당합니다.
deallocate 지정된 위치부터 시작하여 스토리지에서 지정된 개수의 개체를 해제합니다.
equals 두 캐시가 같은지 비교합니다.

요구 사항

헤더:<할당자>

네임스페이스: stdext

rts_alloc::allocate

메모리 블록을 할당합니다.

void *allocate(std::size_t count);

매개 변수

count
할당할 배열의 요소 수입니다.

Return Value

할당된 개체에 대한 포인터입니다.

설명

멤버 함수는 요청된 블록 크기 수에 따라 인덱 _IDX 스가 결정되는 위치를 반환caches[_IDX].allocate(count)하거나, 개수가 너무 크면 반환합니다operator new(count). cache를 반환합니다.

rts_alloc::d설치

지정된 위치부터 시작하여 스토리지에서 지정된 개수의 개체를 해제합니다.

void deallocate(void* ptr, std::size_t count);

매개 변수

ptr
스토리지에서 할당을 취소할 첫 번째 개체에 대한 포인터입니다.

count
스토리지에서 할당을 취소할 개체의 수입니다.

설명

멤버 함수는 요청된 블록 크기 수에 따라 인덱 _IDX 스가 결정되는 경우 또는 caches[_IDX].deallocate(ptr, count)개수가 너무 크면 반환됩니다operator delete(ptr).

rts_alloc::equals

두 캐시가 같은지 비교합니다.

bool equals(const sync<_Cache>& _Other) const;

매개 변수

_캐시
필터와 연결된 캐시 개체입니다.

_Other
같은지 비교할 캐시 개체입니다.

설명

결과가 caches[0].equals(other.caches[0])이면 true이고 그렇지 않으면 false입니다. caches는 캐시 개체의 배열을 나타냅니다.

참고 항목

ALLOCATOR_DECL
<allocators>