HashTable<IndexType, ItemType>::BeginPairs
PairIterator BeginPairs (void);
ConstPairIterator BeginPairs (void) const;
리턴 값
설명
const IndexType* key;
ItemType* value;
비-상수 순방향 반복자들에 대해서는 이와 같습니다. 그리고
const IndexType* key;
const ItemType* value;
상수 순방향 반복자들에 대해서는 이와 같습니다.
여기서 key는 현재 인덱스를 가리키며 value는 현재 항목을 가리키고 있습니다.
그래서 다음과 같이 현재 인덱스와 현재 항목을 접근할 수 있습니다:
*(iterator->key) // 인덱스에 대한 레퍼런스
*(iterator->value) // 항목에 대한 레퍼런스
또는
iterator->key->anIndexMember
iterator->value->anItemMember
열거 순서는 정의되어 있지 않습니다.
반복자 디레퍼런싱을 통해 획득한 쌍들에 대한 레퍼런스는 부모 해시테이블 상에서 다음 변경하기 메소드가 호출될 때까지만 사용할 수 있습니다.
이 메소드는 EnumeratePairs 메소드와 같습니다.
예제
GS::HashTable<GS::String, long> hashTable; // {strings, long} pair들의 hashtable GS::HashTable<GS::String, long>::PairIterator begin = hashTable.BeginPairs (); // 1번째 인덱스-항목 pair를 참조하는 반복자 획득하기 GS::HashTable<GS::String, long>::PairIterator end = hashTable.EndPairs (); // 마지막 직전 인덱스-항목 pair를 참조하는 반복자 획득하기 while (begin != end) { // 시퀀스 끝까지 (hashtable) GS::String s = *(begin->key); // 반복자 디레퍼런싱 (pair 구조체를 가리키는 포인터를 리턴함) long l = *(begin->value); // 반복자 디레퍼런싱 (pair 구조체를 가리키는 포인터를 리턴함) *(begin->value) = 4; // 반복자 디레퍼런싱 (pair 구조체를 가리키는 포인터를 리턴함) ++begin; // 다음 pair로 전진 }
이 예제는 해시테이블로부터 획득한 쌍(pair) 반복자들의 사용법을 설명합니다.