HashTable<IndexType, ItemType>::EnumeratePairs
PairIterator EnumeratePairs (void);
ConstPairIterator EnumeratePairs (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
열거 순서는 정의되어 있지 않습니다.
반복자 디레퍼런싱을 통해 획득한 쌍들에 대한 레퍼런스는 부모 해시테이블 상에서 다음 변경하기 메소드가 호출될 때까지만 사용할 수 있습니다.
이 메소드는 BeginPairs 메소드와 같습니다.
예제
GS::HashTable<GS::String, long> hashTable; // {strings, long} pair들의 hashtable GS::HashTable<GS::String, long>::PairIterator it = hashTable.EnumeratePairs (); // pair 반복자 획득하기 (또는 hashTable.BeginPairs ()) while (it != NULL) { // 시퀀스 끝까지 (hashtable) GS::String s = *(it->key); // 반복자 디레퍼런싱 (pair 구조체를 가리키는 포인터를 리턴함) long l = *(it->value); // 반복자 디레퍼런싱 (pair 구조체를 가리키는 포인터를 리턴함) *(it->value) = 4; // 반복자 디레퍼런싱 (pair 구조체를 가리키는 포인터를 리턴함) ++it; // 다음 pair로 전진 }
이 예제는 해시테이블로부터 획득한 쌍(pair) 반복자들의 사용법을 설명합니다.