CRBMap Class
Этот класс представляет структуру сопоставления с помощью Красн- Черное бинарный дерево.
template<
typename K,
typename V,
class KTraits = CElementTraits< K >,
class VTraits = CElementTraits< V >
> class CRBMap : public CRBTree< K, V, KTraits, VTraits >
Параметры
K
Тип ключевого положения.V
Тип значения.KTraits
Код, используемый для копирования или перемещения ключевые элементы. Дополнительные сведения см. в разделе класс CElementTraits.VTraits
Код, используемый для копирования или перемещения элементов значения.
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Конструктор. |
|
Деструктор. |
Открытые методы
Имя |
Описание |
---|---|
Вызовите этот метод, чтобы найти ключи и значения в объекте CRBMap. |
|
Вызовите этот метод, чтобы удалить элемент из объекта CRBMap заданный ключ. |
|
Вызовите этот метод, чтобы вставить пару элемента в сопоставление. |
Заметки
CRBMap обеспечивает поддержку массивов сопоставления любого заданного типа, управление упорядоченный массив ключевых положений и связанных с ними значений. Каждый ключ может иметь только одно связанное значение. Элементы (состоящ из ключа и значения) хранятся в структуре дерева бинарный дерева, используя метод CRBMap::SetAt. Элементы могут быть удалены с помощью метода CRBMap::RemoveKey, который удаляет элемент со значением заданного ключа.
Обход дерева становится возможным с методами, как CRBTree::GetHeadPosition, CRBTree::GetNext и CRBTree::GetNextValue.
Параметры KTraits и признаков VTraits классы, содержащие любой дополнительный код необходимо копировать или перемещать элементы.
CRBMap является производным от CRBTree, который реализует бинарный дерево с помощью Красн- Черный алгоритм. CRBMultiMap изменение, разрешить несколько значений для каждого ключа. Она слишком является производным от CRBTree, и поэтому акций множество функций с CRBMap.
Альтернативой обоим CRBMap и CRBMultiMap предложена классом CAtlMap. Когда небольшое количество элементов должны храниться рекомендуется использовать класс CSimpleMap.
Для более полного обсуждения различных классов коллекций и их функции и характеристик производительности см. в разделе Классы коллекций библиотеку ATL.
Иерархия наследования
CRBMap
Требования
Header: atlcoll.h