다음을 통해 공유


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에서 가리키는 키와 값을 모두 업데이트합니다.

참고 항목

클래스 개요