Поделиться через


Класс CMapStringToString

Поддерживает сопоставления объектов CString , зашифрованных объектами CString .

Синтаксис

class CMapStringToString : public CObject

Участники

Функции-члены похожи на функции-члены CMapStringToString класса CMapStringToOb. Из-за этой схожести для изучения этой функции-члена можно использовать справочную документацию по классу CMapStringToOb. Где бы вы ни видели CObject указатель как возвращаемое значение или параметр функции output, замените указатель на char. Где бы вы ни видели CObject указатель как параметр функции input, замените указатель на char.

BOOL CMapStringToString::Lookup(LPCTSTR<key>, CString&<rValue>) const;

, например, преобразуется в

BOOL CMapStringToOb::Lookup(const char*<key>, CObject*&<rValue>) const;

Общедоступные структуры

Имя Описание
CMapStringToString::CPair Вложенная структура, содержащая значение ключа и значение связанного строкового объекта.

Открытые конструкторы

Имя Описание
CMapStringToString::CMapStringToString Конструктор.

Открытые методы

Имя Описание
CMapStringToString::GetCount Возвращает количество элементов в этой карте.
CMapStringToString::GetHashTableSize Определяет текущее количество элементов в хэш-таблице.
CMapStringToString::GetNextAssoc Возвращает следующий элемент для итерации.
CMapStringToString::GetSize Возвращает количество элементов в этой карте.
CMapStringToString::GetStartPosition Возвращает положение первого элемента.
CMapStringToString::HashKey Вычисляет хэш-значение указанного ключа.
CMapStringToString::InitHashTable Инициализирует хэш-таблицу.
CMapStringToString::IsEmpty Проверяет условие пустой карты (без элементов).
CMapStringToString::Lookup Ищет указатель void на основе ключа указателя void. Значение указателя, а не сущность, на которую она указывает, используется для сравнения ключей.
CMapStringToString::LookupKey Возвращает ссылку на ключ, связанный с указанным значением ключа.
CMapStringToString::P GetFirstAssoc Возвращает указатель на первый CString в карте.
CMapStringToString::P GetNextAssoc Возвращает указатель на следующий CString для итерации.
CMapStringToString::P Lookup Возвращает указатель на CString значение, значение которого соответствует указанному значению.
CMapStringToString::RemoveAll Удаляет все элементы из этой карты.
CMapStringToString::RemoveKey Удаляет элемент, указанный ключом.
CMapStringToString::SetAt Вставляет элемент в карту; заменяет существующий элемент, если найден соответствующий ключ.

Открытые операторы

Имя Описание
CMapStringToString::operator [ ] Вставляет элемент в карту — подстановку SetAtоператора.

Замечания

CMapStringToString использует макрос IMPLEMENT_SERIAL для поддержки сериализации и записи элементов в дамп. Каждый элемент сериализуется в свою очередь, если карта хранится в архиве, либо с перегруженным оператором вставки ( <<) или функцией-членом Serialize .

Если вам нужен дамп отдельных CString- CString элементов, необходимо задать глубину контекста дампа значение 1 или больше.

CMapStringToString При удалении объекта или при удалении CString его элементов объекты удаляются соответствующим образом.

Дополнительные сведения CMapStringToStringсм. в статьях "Коллекции".

Иерархия наследования

CObject

CMapStringToString

Требования

Заголовок: afxcoll.h

CMapStringToString::CPair

Содержит значение ключа и значение связанного строкового объекта.

Замечания

Это вложенная структура класса CMapStringToString.

Структура состоит из двух полей:

  • key Фактическое значение типа ключа.

  • value Значение связанного объекта.

Он используется для хранения возвращаемых значений из CMapStringToString::P Lookup, CMapStringToString::P GetFirstAssoc и CMapStringToString::P GetNextAssoc.

Пример

Пример использования см. в примере CMapStringToString ::P Lookup.

CMapStringToString::P GetFirstAssoc

Возвращает первую запись объекта map.

const CPair* PGetFirstAssoc() const;

CPair* PGetFirstAssoc();

Возвращаемое значение

Указатель на первую запись в карте; см. раздел CMapStringToString::CPair. Если карта пуста, значение равно NULL.

Замечания

Вызовите эту функцию, чтобы вернуть указатель на первый элемент в объекте map.

Пример

CMapStringToString myMap;
CString myStr[4] = {_T("One"), _T("Two"), _T("Three"), _T("Four")};
CMapStringToString::CPair *pCurVal;

myMap.InitHashTable(257);

// Add 4 elements to the map.
myMap.SetAt(myStr[0], _T("Odd"));
myMap.SetAt(myStr[1], _T("Even"));
myMap.SetAt(myStr[2], _T("Odd"));
myMap.SetAt(myStr[3], _T("Even"));

pCurVal = myMap.PGetFirstAssoc();
while (pCurVal != NULL)
{
   _tprintf_s(_T("Current key value at %s: %s\n"),
              pCurVal->key, pCurVal->value);
   pCurVal = myMap.PGetNextAssoc(pCurVal);
}

CMapStringToString::P GetNextAssoc

Извлекает элемент карты, на который указывает pAssocRec.

const CPair *PGetNextAssoc(const CPair* pAssoc) const;

CPair *PGetNextAssoc(const CPair* pAssoc);

Параметры

pAssoc
Указывает на запись карты, возвращаемую предыдущим вызовом PGetNextAssoc или PGetFirstAssoc.

Возвращаемое значение

Указатель на следующую запись в карте; см. раздел CMapStringToString::CPair. Если элемент является последним в карте, значение равно NULL.

Замечания

Вызовите этот метод для итерации всех элементов карты. Извлеките первый элемент с вызовом PGetFirstAssoc , а затем выполните итерацию по карте с последовательными вызовами PGetNextAssoc.

Пример

См. пример CMapStringToString ::P GetFirstAssoc.

CMapStringToString::P Lookup

Ищет значение, сопоставленное с заданным ключом.

const CPair* PLookup(LPCTSTR key) const;

CPair* PLookup(LPCTSTR key);

Параметры

key
Указатель на ключ для поиска элемента.

Возвращаемое значение

Указатель на указанный ключ.

Замечания

Вызовите этот метод для поиска элемента карты с ключом, который точно соответствует заданному ключу.

Пример

CMapStringToString myMap;
CString myStr[4] = {_T("One"), _T("Two"), _T("Three"), _T("Four")};

myMap.InitHashTable(257);

// Add 4 elements to the map.
myMap.SetAt(myStr[0], _T("Odd"));
myMap.SetAt(myStr[1], _T("Even"));
myMap.SetAt(myStr[2], _T("Odd"));
myMap.SetAt(myStr[3], _T("Even"));

// Print the element values with odd key values.
CMapStringToString::CPair *pCurVal;

for (int i = 0; i < 4; i += 2)
{
   pCurVal = myMap.PLookup(myStr[i]);
   _tprintf_s(_T("Current key value at %s: %s\n"),
              pCurVal->key, pCurVal->value);
}

См. также

Пример MFC COLLECT
Класс CObject
Диаграмма иерархии