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이 가리키는 메모리 블록을 목록의 헤드에 추가합니다.