Graphisoft®

GSRootVersion: 1.0

DESC

DESC structure는 Virtual Array를 설명합니다.

typedef struct DESC{
  long             lastind;
  long             maxind;
  long             npage;
  long             size;
  GSHandle arrhdl;
} DESC;

 

멤버

lastind
Virtual Array의 마지막 요소의 인덱스를 지정합니다. 이것은 Virtual Array의 길이입니다. 만약 Virtual Array의 크기를 증가시키고 싶으면, VASpac, VANspac 또는 VAReal 함수를 호출하면 됩니다.
maxind
Virtual Array의 마지막 할당된 인덱스를 지정합니다. 더 많은 정보는 설명을 보십시오.
npage
Virtual Array을 증가 또는 감소시키는 요소들의 개수를 지정합니다. 더 많은 정보는 설명을 보십시오.
size
Virtual Array에 저장된 요소들의 크기를 지정합니다.
arrhdl
Virtual Array의 요소들의 저장되어 있는 버퍼의 핸들을 지정합니다.

설명

Virtual Array는 요소들을 저장하는 할당된 버퍼 arrhdl을 갖고 있습니다. 할당된 버퍼는 maxind 요소들을 저장할 수 있습니다. VASpacVANspac 함수들은 Virtual Array의 크기를 증가시킵니다. (버퍼의 크기는 아님) 그 후에 새로운 요소들이 기존에 할당된 버퍼에 맞는지 여부를 확인합니다. 만약 기존 버퍼에 맞는다면, 이 함수는 DESC structure의 lastind 포인터를 증가시킵니다. 만약 기존 버퍼에 맞지 않는다면, 이 함수는 버퍼의 크기를 연속적으로 증가시키고 lastind 포인터를 증가시킵니다. 버퍼의 크기는 항상 npage 요소들에 의해 증가됩니다.

maxind 포인터는 항상 lastind 포인터보다 크거나 같아야 한다는 것을 참고하십시오.

VARelease 함수를 호출하여 버퍼의 크기를 감소시킬 수 있습니다. VARelease 함수는 할당된 버퍼의 크기와 지정된 요소들의 개수를 확인합니다. 만약 저장된 요소들이 더 작아진 버퍼에 맞는다면 버퍼 크기는 npage 요소들에 의해 감소됩니다.

만약 VAClearIndex 함수를 호출하여 Virtual Array로부터 요소를 제거한다면, Virtual Array의 크기가 감소합니다. 그러나 내부 버퍼의 크기는 바뀌지 않는다는 것을 참고하십시오. 만약 당신이 메모리를 절약하고 싶으면 VAClearIndex 함수 이후에 VARelease 함수를 호출해야 합니다.

요구사항

   헤더: VA.hpp에서 선언됨

참고사항

Virtual Array 함수들