다음을 통해 공유


freelist 클래스

메모리 블록의 목록을 관리합니다.

구문

template <std::size_t Sz, class Max>
class freelist : public Max

매개 변수

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

Max
사용 가능 목록에 저장할 최대 요소 수를 나타내는 최대 클래스입니다. 최대 클래스는 max_none, max_unbounded, max_fixed_size 또는 max_variable_size가 될 수 있습니다.

설명

이 클래스 템플릿은 Max에 전달된 최대 클래스에 의해 결정되는 목록의 최대 길이로 Sz 크기의 메모리 블록 목록을 관리합니다.

생성자

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

멤버 함수

멤버 함수 설명
pop 사용 가능 목록에서 첫 번째 메모리 블록을 제거합니다.
push 목록에 메모리 블록을 추가합니다.

요구 사항

헤더:<할당자>

네임스페이스: stdext

freelist::freelist

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

freelist();

설명

freelist::p op

사용 가능 목록에서 첫 번째 메모리 블록을 제거합니다.

void *pop();

Return Value

목록에서 제거된 메모리 블록의 포인터를 반환합니다.

설명

목록이 비어 있으면 멤버 함수가 NULL을 반환합니다. 그렇지 않으면 목록에서 첫 번째 메모리 블록을 제거합니다.

freelist::p ush

목록에 메모리 블록을 추가합니다.

bool push(void* ptr);

매개 변수

ptr
사용 가능 목록에 추가할 메모리 블록의 포인터입니다.

Return Value

최대 클래스의 full 함수가 false를 반환하면 true이고, 그렇지 않으면 push 함수가 false를 반환합니다.

설명

max 클래스의 함수가 full 반환false되면 이 멤버 함수는 ptr이 가리키는 메모리 블록을 목록의 헤드에 추가합니다.

참고 항목

<allocators>