Graphisoft®

GSRootVersion: 1.0

StableArray Class

항목들의 주소들을 변경하지 않은 상태로 저장하는 랜덤 컨테이너입니다.

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

Template 파라미터

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

멤버

생성자

StableArray StableArray 생성자입니다.

내용 관리

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

내용 쿼리

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

성능 튜닝

GetCapacity 배열의 용량을 리턴합니다.
GetFillFactor 배열의 채우기 요소를 리턴합니다.
GetPageSize 저장 페이지의 크기를 리턴합니다.
GetAllocationStrategy 할당 전략을 리턴합니다.
GetCompactionStrategy 압축 전략을 리턴합니다.
Compact 저장 페이지들을 압축하고 사용하지 않는 메모리를 해제합니다.

Public 타입

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

설명

StableArray는 저장된 항목들의 주소들을 변경하지 않은 상태로 저장할 수 있는 RandomContainer 구현입니다. 이것은 메모리 페이지들에 상주하는 항목들에 대한 포인터들을 저장하는 맵 테이블을 이용하여 구현할 수 있습니다. 삽입 또는 제거시에 맵 테이블이 조작됩니다. 항목들 자체는 영향을 받지 않습니다. 할당 전략에 따라 1개 이상의 페이지들을 포함하는 할당 단위로 메모리를 할당합니다.
StableArray의 public 메소드들은 비-가상이며 적절한 경우 인라인입니다.

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

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

다음 그림은 StableArray의 내부 레이아웃을 보여줍니다:


요구사항

네임스페이스: GS

헤더: StableArray.hpp

참고사항

Array | PagedArray