rts_alloc 클래스
rts_alloc 클래스 템플릿은 캐시 인스턴스 배열을 보유하는 필터를 설명하고 컴파일 시간이 아닌 런타임에 할당 및 할당 취소에 사용할 인스턴스를 결정합니다.
구문
template <class Cache>
class rts_alloc
매개 변수
캐시
배열에 포함된 캐시 인스턴스의 형식입니다. cache_chunklist
, cache_freelist
또는 cache_suballoc
일 수 있습니다.
설명
이 클래스 템플릿은 여러 블록 할당자 인스턴스를 보유하며 컴파일 시간이 아닌 런타임 시 할당 또는 할당 취소에 사용할 인스턴스를 결정합니다. 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
는 캐시 개체의 배열을 나타냅니다.