CSimpleMap 클래스
이 클래스는 간단한 매핑 배열을 지원합니다.
구문
template <class TKey, class TVal, class TEqual = CSimpleMapEqualHelper<TKey, TVal>>
class CSimpleMap
매개 변수
TKey
키 요소 형식입니다.
TVal
값 요소 형식입니다.
TEqual
형식 요소에 대한 같음 테스트를 정의하는 특성 개체입니다 T
.
멤버
공용 Typedefs
속성 | 설명 |
---|---|
CSimpleMap::_ArrayElementType | 값 형식에 대한 Typedef입니다. |
CSimpleMap::_ArrayKeyType | 키 형식에 대한 Typedef입니다. |
공용 생성자
속성 | 설명 |
---|---|
CSimpleMap::CSimpleMap | 생성자입니다. |
CSimpleMap::~CSimpleMap | 소멸자입니다. |
공용 메서드
이름 | 설명 |
---|---|
CSimpleMap::Add | 지도 배열에 키 및 연결된 값을 추가합니다. |
CSimpleMap::FindKey | 특정 키를 찾습니다. |
CSimpleMap::FindVal | 특정 값을 찾습니다. |
CSimpleMap::GetKeyAt | 지정된 키를 검색합니다. |
CSimpleMap::GetSize | 매핑 배열의 항목 수를 반환합니다. |
CSimpleMap::GetValueAt | 지정된 값을 검색합니다. |
CSimpleMap::Lookup | 지정된 키와 연결된 값을 반환합니다. |
CSimpleMap::Remove | 키와 일치하는 값을 제거합니다. |
CSimpleMap::RemoveAll | 모든 키와 값을 제거합니다. |
CSimpleMap::RemoveAt | 특정 키와 일치하는 값을 제거합니다. |
CSimpleMap::ReverseLookup | 지정된 값과 연결된 키를 반환합니다. |
CSimpleMap::SetAt | 지정된 키와 연결된 값을 설정합니다. |
CSimpleMap::SetAtIndex | 특정 키와 값을 설정합니다. |
설명
CSimpleMap
에서는 지정된 형식 T
의 간단한 매핑 배열을 지원하여 정렬되지 않은 키 요소 배열과 관련 값을 관리합니다.
매개 변수 TEqual
는 형식 T
의 두 요소에 대한 같음 함수를 정의하는 방법을 제공합니다. CSimpleMapEqualHelper와 유사한 클래스를 만들면 지정된 배열에 대한 같음 테스트의 동작을 변경할 수 있습니다. 예를 들어 포인터 배열을 처리할 때 포인터가 참조하는 값에 따라 같음을 정의하는 것이 유용할 수 있습니다. 기본 구현은 operator==()를 사용합니다.
이전 ATL 릴리스와의 호환성을 위해 CSimpleArray와 CSimpleArray가 모두 CSimpleMap
제공되며 CAtlArray 및 CAtlMap에서 보다 완전하고 효율적인 컬렉션 구현을 제공합니다.
ATL 및 MFC의 다른 맵 컬렉션과 달리 이 클래스는 간단한 배열로 구현되며 조회 검색에는 선형 검색이 필요합니다. CAtlMap
는 배열에 많은 수의 요소가 포함된 경우 사용해야 합니다.
요구 사항
헤더: atlsimpcoll.h
예시
// Create a map with an integer key and character pointer value
CSimpleMap<int, char *> iArray;
CSimpleMap::Add
지도 배열에 키 및 연결된 값을 추가합니다.
BOOL Add(const TKey& key, const TVal& val);
매개 변수
key
키입니다.
val
연결된 값입니다.
Return Value
키와 값이 성공적으로 추가되면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
설명
추가된 각 키와 값 쌍은 매핑 배열 메모리를 해제하고 다시 할당하여 각 데이터에 대한 데이터가 항상 연속적으로 저장되도록 합니다. 즉, 두 번째 키 요소는 항상 메모리의 첫 번째 키 요소를 직접 따릅니다.
CSimpleMap::_ArrayElementType
키 형식에 대한 typedef입니다.
typedef TVal _ArrayElementType;
CSimpleMap::_ArrayKeyType
값 형식에 대한 typedef입니다.
typedef TKey _ArrayKeyType;
CSimpleMap::CSimpleMap
생성자입니다.
CSimpleMap();
설명
데이터 멤버를 초기화합니다.
CSimpleMap::~CSimpleMap
소멸자입니다.
~CSimpleMap();
설명
할당된 모든 리소스를 해제합니다.
CSimpleMap::FindKey
특정 키를 찾습니다.
int FindKey(const TKey& key) const;
매개 변수
key
검색할 키입니다.
Return Value
키의 인덱스가 있으면 반환하고, 그렇지 않으면 -1을 반환합니다.
CSimpleMap::FindVal
특정 값을 찾습니다.
int FindVal(const TVal& val) const;
매개 변수
val
검색할 값입니다.
Return Value
값이 발견되면 값의 인덱스 값을 반환하고, 그렇지 않으면 -1을 반환합니다.
CSimpleMap::GetKeyAt
지정된 인덱스에서 키를 검색합니다.
TKey& GetKeyAt(int nIndex) const;
매개 변수
nIndex
반환할 키의 인덱스입니다.
Return Value
nIndex에서 참조하는 키를 반환합니다.
설명
nIndex에서 전달된 인덱스는 반환 값이 의미가 되도록 유효해야 합니다.
CSimpleMap::GetSize
매핑 배열의 항목 수를 반환합니다.
int GetSize() const;
Return Value
매핑 배열의 항목 수(키와 값은 하나의 항목)를 반환합니다.
CSimpleMap::GetValueAt
특정 인덱스의 값을 검색합니다.
TVal& GetValueAt(int nIndex) const;
매개 변수
nIndex
반환할 값의 인덱스입니다.
Return Value
nIndex에서 참조하는 값을 반환합니다.
설명
nIndex에서 전달된 인덱스는 반환 값이 의미가 되도록 유효해야 합니다.
CSimpleMap::Lookup
지정된 키와 연결된 값을 반환합니다.
TVal Lookup(const TKey& key) const;
매개 변수
key
키입니다.
Return Value
연결된 값을 반환합니다. 일치하는 키가 없으면 NULL이 반환됩니다.
CSimpleMap::Remove
키와 일치하는 값을 제거합니다.
BOOL Remove(const TKey& key);
매개 변수
key
키입니다.
Return Value
키와 일치하는 값이 성공적으로 제거되면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
CSimpleMap::RemoveAll
모든 키와 값을 제거합니다.
void RemoveAll();
설명
매핑 배열 개체에서 모든 키와 값을 제거합니다.
CSimpleMap::RemoveAt
지정된 인덱스에서 키 및 연결된 값을 제거합니다.
BOOL RemoveAt(int nIndex);
매개 변수
nIndex
제거할 키 및 연결된 값의 인덱스입니다.
Return Value
성공하면 TRUE를 반환하고, 지정된 인덱스가 잘못된 인덱스이면 FALSE를 반환합니다.
CSimpleMap::ReverseLookup
지정된 값과 연결된 키를 반환합니다.
TKey ReverseLookup(const TVal& val) const;
매개 변수
val
값입니다.
Return Value
연결된 키를 반환합니다. 일치하는 키가 없으면 NULL이 반환됩니다.
CSimpleMap::SetAt
지정된 키와 연결된 값을 설정합니다.
BOOL SetAt(const TKey& key, const TVal& val);
매개 변수
key
키입니다.
val
할당할 새 값입니다.
Return Value
키가 발견되고 값이 성공적으로 변경되면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
CSimpleMap::SetAtIndex
지정된 인덱스에서 키와 값을 설정합니다.
BOOL SetAtIndex(
int nIndex,
const TKey& key,
const TVal& val);
매개 변수
nIndex
변경할 키 및 값 쌍을 참조하는 인덱스입니다.
key
새 키입니다.
val
새 값입니다.
Return Value
성공하면 TRUE를 반환하고, 인덱스가 유효하지 않으면 FALSE를 반환합니다.
설명
nIndex에서 가리키는 키와 값을 모두 업데이트합니다.