다음을 통해 공유


max_variable_size 클래스

freelist 개체를 할당된 메모리 블록의 수에 거의 비례하는 최대 길이로 제한하는 max 클래스 개체를 설명합니다.

구문

class max_variable_size

생성자

생성자 Description
max_variable_size max_variable_size 형식의 개체를 생성합니다.

멤버 함수

멤버 함수 설명
allocated 할당된 메모리 블록의 수를 늘립니다.
deallocated 할당된 메모리 블록의 수를 줄입니다.
full 사용 가능한 목록에 더 많은 메모리 블록을 추가할지 여부를 지정하는 값을 반환합니다.
released 사용 가능한 목록에서 메모리 블록의 수를 줄입니다.
saved 사용 가능한 목록에서 메모리 블록의 수를 늘립니다.

요구 사항

헤더:<할당자>

네임스페이스: stdext

max_variable_size::allocated

할당된 메모리 블록의 수를 늘립니다.

void allocated(std::size_t _Nx = 1);

매개 변수

_Nx
증분 값입니다.

설명

이 멤버 함수는 저장된 값_Nallocs에 _Nx 추가합니다. 이 멤버 함수는 cache_freelist::allocate에서 new 연산자를 성공적으로 호출할 때마다 호출됩니다. _Nx 인수는 연산new자가 할당한 청크의 메모리 블록 수입니다.

max_variable_size::d 할당됨

할당된 메모리 블록의 수를 줄입니다.

void deallocated(std::size_t _Nx = 1);

매개 변수

_Nx
증분 값입니다.

설명

멤버 함수는 저장된 값_Nallocs에서 _Nx 뺍니다. 이 멤버 함수는 cache_freelist::deallocate에서 delete 연산자를 호출할 때마다 호출됩니다. _Nx 인수는 연산delete자가 할당 취소한 청크의 메모리 블록 수입니다.

max_variable_size::full

사용 가능한 목록에 더 많은 메모리 블록을 추가할지 여부를 지정하는 값을 반환합니다.

bool full();

Return Value

_Nallocs / 16 + 16 <= _Nblocks이면 true입니다.

설명

이 멤버 함수는 cache_freelist::deallocate에서 호출됩니다. 호출에서 true를 반환하는 경우 deallocate는 메모리 블록을 사용 가능한 목록에 넣고, false를 반환하는 경우 deallocatedelete 연산자를 호출하여 블록을 할당 취소합니다.

max_variable_size::max_variable_size

max_variable_size 형식의 개체를 생성합니다.

max_variable_size();

설명

이 생성자는 저장된 값 _Nblocks_Nallocs를 0으로 초기화합니다.

max_variable_size::released

사용 가능한 목록에서 메모리 블록의 수를 줄입니다.

void released();

설명

이 멤버 함수는 저장된 값 _Nblocks를 줄입니다. 현재 max 클래스의 released 멤버 함수는 사용 가능한 목록에서 메모리 블록을 제거할 때마다 cache_freelist::allocate에서 호출됩니다.

max_variable_size::saved

사용 가능한 목록에서 메모리 블록의 수를 늘립니다.

void saved();

설명

이 멤버 함수는 저장된 값 _Nblocks를 늘립니다. 이 멤버 함수는 사용 가능한 목록에 메모리 블록을 넣을 때마다 cache_freelist::deallocate에서 호출됩니다.

참고 항목

<allocators>