Graphisoft®

GSRootVersion: 1.0

PagedArray Class

재할당 없이 별도의 메모리 페이지들을 사용하는 랜덤 컨테이너입니다.

template <class Type>
class PagedArray : public RandomContainer< Type >

Template 파라미터

Type
배열이 저장하는 항목들의 타입입니다.

멤버

생성자

PagedArray PagedArray 생성자입니다.

내용 관리

Swap 배열 2개의 내용을 교환합니다.

내용 쿼리

Enumerate 배열 내용의 열거를 허용합니다.
Begin 배열의 1번째 항목을 참조하는 반복자(iterator)를 리턴합니다.
End 배열의 마지막 직전 항목을 참조하는 반복자(iterator)를 리턴합니다.

성능 튜닝

GetPageSize 저장 페이지의 크기를 리턴합니다.
GetAllocationStrategy 할당 전략을 리턴합니다.

Public 타입

AllocationStrategy 가능한 할당 전략입니다.
ConstIterator PagedArray의 상수 랜덤 반복자(iterator)의 타입입니다.
Iterator PagedArray의 랜덤 반복자(iterator)의 타입입니다.

설명

PagedArray는 재할당 없이 별도의 메모리 페이지들 안에 항목들을 저장하는 RandomContainer 구현입니다. 할당 전략에 따라 하나 이상의 페이지들이 포함된 할당 단위로 메모리를 할당합니다.
public 메소드들은 비-가상이며 적절한 경우 인라인입니다.

랜덤 컨테이너 구현 중에서 PagedArray는 다음 장점을 갖고 있습니다:

랜덤 컨테이너 구현 중에서 PagedArray는 다음 단점을 갖고 있습니다:
항목들은 기본 생성자와 복사 생성자, 할당 연산자를 가져야 합니다. 이외에도 비교 연산자(==와 !=)를 갖고 있다면, 값 종속적인 연산(예. Find, Count, Contains 등) 역시 사용할 수 있게 됩니다.

다음 그림은 상수(constant) 할당 전략을 이용하는 PagedArray의 내부 레이아웃을 보여줍니다:


다음 그림은 선형(linear) 할당 전략을 이용하는 PagedArray의 내부 레이아웃을 보여줍니다:


다음 그림은 지수(exponential) 할당 전략을 이용하는 PagedArray의 내부 레이아웃을 보여줍니다:


요구사항

네임스페이스: GS

헤더: PagedArray.hpp

참고사항

Array | StableArray