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


CAtlMap Class

Этот класс содержит методы для создания и управления объекта сопоставления.

template< 
   typename K, 
   typename V, 
   class KTraits = CElementTraits< K >, 
   class VTraits = CElementTraits< V > 
> 
class CAtlMap

Параметры

  • K
    Тип ключевого положения.

  • V
    Тип значения.

  • KTraits
    Код, используемый для копирования или перемещения ключевые элементы. Дополнительные сведения см. в разделе класс CElementTraits.

  • VTraits
    Код, используемый для копирования или перемещения элементов значения.

Члены

Открытые определения типов

Имя

Описание

CAtlMap::KINARGTYPE

Тип используемого, когда ключ будет передан в качестве входного аргумента

CAtlMap::KOUTARGTYPE

Тип используемого, когда ключ будет возвращен как выходной аргумент.

CAtlMap::VINARGTYPE

Тип используемого, когда будет передано значение в качестве входного аргумента.

CAtlMap::VOUTARGTYPE

Тип используемого при получении передается значение в качестве аргумента вывода.

Общие классы

Имя

Описание

CAtlMap::CPair Class

Класс, содержащий элементы ключа и значения.

Элементы данных CPair

Имя

Описание

CAtlMap::CPair::m_key

Элемент данных хранения является ключевым элементом.

CAtlMap::CPair::m_value

Элемент данных хранения элемент значения.

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

Имя

Описание

CAtlMap::CAtlMap

Конструктор.

CAtlMap::~CAtlMap

Деструктор.

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

Имя

Описание

CAtlMap::AssertValid

Вызовите этот метод, чтобы вызвать ASSERT, если CAtlMap недопустимо.

CAtlMap::DisableAutoRehash

Вызывайте этот метод для отключения автоматического повторного хэширования объекта CAtlMap.

CAtlMap::EnableAutoRehash

Этот метод вызывается для включения автоматического повторного хэширования объекта CAtlMap.

CAtlMap::GetAt

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

CAtlMap::GetCount

Вызовите этот метод, чтобы получить количество элементов в сопоставлении.

CAtlMap::GetHashTableSize

Вызовите этот метод, чтобы указать количество позиций в хэш-таблице сопоставления.

CAtlMap::GetKeyAt

Вызовите этот метод, чтобы извлечь ключ, хранящийся в заданной позиции в объекте CAtlMap.

CAtlMap::GetNext

Этот метод вызывается для получения указателя на следующие сопоставления элемента, хранящегося в объекте CAtlMap.

CAtlMap::GetNextAssoc

Возвращает следующий элемент для итерации.

CAtlMap::GetNextKey

Вызовите этот метод, чтобы получить следующий ключ из объекта CAtlMap.

CAtlMap::GetNextValue

Вызовите этот метод, чтобы получить следующее значение из объекта CAtlMap.

CAtlMap::GetStartPosition

Вызовите этот метод, чтобы начать итерацию сопоставления.

CAtlMap::GetValueAt

Вызовите этот метод, чтобы извлечь значение, сохраненное в заданной позиции в объекте CAtlMap.

CAtlMap::InitHashTable

Этот метод вызывается для инициализации хэш-таблицы.

CAtlMap::IsEmpty

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

CAtlMap::Lookup

Вызовите этот метод, чтобы найти ключи и значения в объекте CAtlMap.

CAtlMap::Rehash

Этот метод вызывается в перефразированию объектом CAtlMap.

CAtlMap::RemoveAll

Вызовите этот метод, чтобы удалить все элементы из объекта CAtlMap.

CAtlMap::RemoveAtPos

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

CAtlMap::RemoveKey

Вызовите этот метод, чтобы удалить элемент из объекта CAtlMap заданный ключ.

CAtlMap::SetAt

Вызовите этот метод, чтобы вставить пару элемента в сопоставление.

CAtlMap::SetOptimalLoad

Вызовите этот метод, чтобы задать оптимальную загрузку объекта CAtlMap.

CAtlMap::SetValueAt

Вызовите этот метод, чтобы изменить значение, хранящееся в заданной позиции в объекте CAtlMap.

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

Имя

Описание

CAtlMap::operator []

Заменяет или добавить новый элемент в CAtlMap.

Заметки

CAtlMap обеспечивает поддержку массивов любого заданного типа, сопоставления для управления неупорядоченными массив ключевых положений и связанных с ними значений. Элементы (состоящ из ключа и значения) хранятся используя алгоритм хэширования, при включении больших объемов эффективно для хранения и восстановимых данных.

Параметры KTraits и признаков VTraits классы, содержащие любой дополнительный код необходимо копировать или перемещать элементы.

Альтернативой CAtlMap предложена классом CRBMap. CRBMap ключ магазинов также ключ-значение, но отображаются другие характеристики производительности. Время, затраченное для вставки элемента, поиска или удаления ключа из объекта CRBMap порядка log(n), где n - количество элементов. Для CAtlMap, все эти операции обычно занимают постоянное время, хотя наихудшие варианты развития событий могут оказаться n. Поэтому в обычном случае CAtlMap быстрее.

Других различий между CRBMap и CAtlMap будет ясным повторяя через сохраненные элементы. В CRBMap элементы посещены в порядке сортировки. В CAtlMap элементы не упорядочиваются, и порядок может быть выведен.

Если несколько элементов должны храниться рекомендуется использовать класс CSimpleMap.

Дополнительные сведения см. в разделе Классы коллекций библиотеку ATL.

Требования

Header: atlcoll.h

См. также

Основные понятия

Образец бегущей строки

Образец UpdatePV

Другие ресурсы

ATL Class Overview