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


map (STL/CLR)

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

В приведенном ниже описании GValue совпадают:

Microsoft::VisualC::StlClr::GenericPair<GKey, GMapped>

Здесь:

GKey так же, как и Key если последний не будет типа ref. в этом случае это Key^

GMapped так же, как и Mapped если последний не будет типа ref. в этом случае это Mapped^

template<typename Key,
    typename Mapped>
    ref class map
        :   public
        System::ICloneable,
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<GValue>,
        System::Collections::Generic::ICollection<GValue>,
        System::Collections::Generic::IList<GValue>,
        System::Collections::Generic::IDictionary<Gkey, GMapped>,
        Microsoft::VisualC::StlClr::ITree<Gkey, GValue>
    { ..... };

Параметры

  • Ключ
    Тип ключа для элемента в управляемой последовательности.

  • Сопоставляется
    Тип дополнительного компонента элементов в управляемой последовательности.

Члены

Определение типа

Описание

map::const_iterator (STL/CLR)

Тип постоянного итератора для управляемой последовательности.

map::const_reference (STL/CLR)

Тип постоянной ссылки на элемент.

map::const_reverse_iterator (STL/CLR)

Тип постоянного обратного итератора для управляемой последовательности.

map::difference_type (STL/CLR)

Тип диапазона (возможно, подписанного a 2) между элементами.

map::generic_container (STL/CLR)

Тип универсального интерфейса для контейнера.

map::generic_iterator (STL/CLR)

Тип итератора для универсального интерфейса для контейнера.

map::generic_reverse_iterator (STL/CLR)

Тип обратного итератора для универсального интерфейса для контейнера.

map::generic_value (STL/CLR)

Тип элемента для универсального интерфейса для контейнера.

map::iterator (STL/CLR)

Тип итератора для управляемой последовательности.

map::key_compare (STL/CLR)

Делегат упорядочения для 2 клавиш.

map::key_type (STL/CLR)

Тип упорядочивание клавиш.

map::mapped_type (STL/CLR)

Тип сопоставляемого значения, связанные с каждой клавиша.

map::reference (STL/CLR)

Тип ссылки к элементу.

map::reverse_iterator (STL/CLR)

Тип обратного итератора для управляемой последовательности.

map::size_type (STL/CLR)

Тип диапазона (non-отрицательного 2) между элементами.

map::value_compare (STL/CLR)

Делегат упорядочения для 2 значений элементов.

map::value_type (STL/CLR)

Тип элемента.

Функция-член

Описание

map::begin (STL/CLR)

Задает начало управляемой последовательности.

map::clear (STL/CLR)

Удаляет все элементы.

map::count (STL/CLR)

Подсчитывает элементы, соответствующие указанному ключу.

map::empty (STL/CLR)

Проверяет, не присутствуют ли элементы.

map::end (STL/CLR)

Задает конец управляемой последовательности.

map::equal_range (STL/CLR)

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

map::erase (STL/CLR)

Удаляет элементы в указанных положениях.

map::find (STL/CLR)

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

map::insert (STL/CLR)

Добавляет элементы.

map::key_comp (STL/CLR)

Копирует делегат упорядочения для 2 клавиш.

map::lower_bound (STL/CLR)

Находит начало диапазона, соответствующий указанному ключу.

map::make_value (STL/CLR)

Создает значение объекта.

map::map (STL/CLR)

Создает объект контейнера.

map::rbegin (STL/CLR)

Задает начало обратной управляемой последовательности.

map::rend (STL/CLR)

Задает конец обратной управляемой последовательности.

map::size (STL/CLR)

Подсчитывает количество элементов.

map::swap (STL/CLR)

Меняет местами содержимое двух контейнеров.

map::to_array (STL/CLR)

Копирует управляемую последовательность, в новый массив.

map::upper_bound (STL/CLR)

Находит конец диапазона, соответствующий указанному ключу.

map::value_comp (STL/CLR)

Копирует делегат упорядочения для 2 значений элементов.

Оператор

Описание

map::operator= (STL/CLR)

Заменяет управляемую последовательность.

map::operator[] (STL/CLR)

Сопоставляет клавиша в связанный обработчик действия сопоставленному значение.

operator!= (map) (STL/CLR)

Определяет, является ли объект map не равен другому объекту map.

operator< (map) (STL/CLR)

Определяет, если объект map, чем другой объект map.

operator<= (map) (STL/CLR)

Определяет, является ли объект map меньше или равно другому объекту map.

operator== (map) (STL/CLR)

Определяет, является ли объект map равен другому объекту map.

operator> (map) (STL/CLR)

Определяет, является ли объект map больше, чем другой объект map.

operator>= (map) (STL/CLR)

Определяет, является ли объект map больше или равно другому объекту map.

Интерфейсы

Интерфейс

Описание

ICloneable

Повторяющиеся объект.

IEnumerable

Последовательность через элементы.

ICollection

Обслуживание группу в составе элементы.

IEnumerable<T>

Последовательность через типизированные элементы.

ICollection<T>

Обслуживание группу в составе типизированные элементы.

IDictionary<TKey, TValue>

Обслуживание группу в составе {клавиша, значения пары.}

ITree<Клавиша значение>

Универсальный шаблон контейнер службы.

Заметки

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

Объект упорядочивает последовательность он контролирует путем вызова делегата сохраненный объект типа map::key_compare (STL/CLR).Можно указать сохраненные объект делегата при построении сопоставление; если не указан ни один объект делегата, то значением по умолчанию является сравнение operator<(key_type, key_type).Доступ к этому, сохраненный объект, вызвав функцию-член map::key_comp (STL/CLR)().

Такой объект делегата должен установить строгий порядок клавишах типа map::key_type (STL/CLR) на слабый.Это означает для всех 2 клавиш X и Y:

key_comp()(X, Y) возвращает один и тот же логический результат при каждом вызове.

Если key_comp()(X, Y) значение равно true, то key_comp()(Y, X) должен иметь значение false.

Если key_comp()(X, Y) значение равно true, то говорят, что ordered X перед Y.

Если !key_comp()(X, Y) && !key_comp()(Y, X) значение равно true, то говорят, что имеют X и Y эквивалентный упорядочение.

Для любого элемента X, который предшествует Y в управляемой последовательности, key_comp()(Y, X) false.(По умолчанию для объекта делегата, клавиш никогда не снижают в значении). В отличие от класса map (STL/CLR) шаблона, объект класса map шаблона не требует клавиш для всех элементов уникальными.(Двух или нескольких клавиш могут иметь эквивалентный упорядочение).

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

Сопоставление поддерживает двунаправленные итераторы, что означает, что можно пройти по смежным элементам данного итератора, который задает элемент управляемой последовательности.Нерегламентированный головной узел соответствует итератору, возвращенному map::end (STL/CLR)().Можно уменьшить итератор для достижения последнего элемента в управляемой последовательности, если он имеется.Можно увеличивать итератор сопоставления для достижения головного узла, а затем сравнивает равно end().Однако нельзя разыменования итератор, возвращаемый end().

Обратите внимание, что нельзя обращаться к элементу карты непосредственно заданным свою числовую позицию -- это требует итератора произвольного доступа.

Итератор сопоставления хранит маркер к своему, связанный узел сопоставления, который в свою очередь содержит дескриптор к его связанный контейнер.Итераторы можно использовать только с их соответствующими объект-контейнерами.Итератор сопоставления остается допустимым, пока его связанный узел сопоставления связан с определенным сопоставлением.Кроме того, допустимый итератор dereferencable -- его можно использовать для доступа или изменения значения элемента он обозначает -- пока она не равен end().

Стирающ или удаление элемента вызывает деструктор для своего, хранящиеся значения.Разрушать контейнер стирает все элементы.Таким образом, контейнер, тип элементов которого класс ref гарантирует, что элементы не переживают контейнер.Однако следует отметить, not удаляет контейнер маркеров делает его элементы.

Требования

заголовок: <cliext и сопоставление>

Cliext пространство имен:

См. также

Ссылки

hash_map (STL/CLR)

hash_map (STL/CLR)

hash_multiset (STL/CLR)

hash_set (STL/CLR)

map (STL/CLR)

multiset (STL/CLR)

set (STL/CLR)

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

Ссылка библиотека STL/CLR