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


multimap (STL/CLR)

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

В описании ниже, GValue аналогично:

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

Здесь:

GKey совпадает с Key если здесь не будет ссылочного типа, в случае которого это Key^

GMapped совпадает с Mapped если здесь не будет ссылочного типа, в случае которого это Mapped^

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

Параметры

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

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

Члены

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

Описание

multimap::const_iterator (STL/CLR)

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

multimap::const_reference (STL/CLR)

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

multimap::const_reverse_iterator (STL/CLR)

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

multimap::difference_type (STL/CLR)

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

multimap::generic_container (STL/CLR)

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

multimap::generic_iterator (STL/CLR)

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

multimap::generic_reverse_iterator (STL/CLR)

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

multimap::generic_value (STL/CLR)

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

multimap::iterator (STL/CLR)

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

multimap::key_compare (STL/CLR)

Порядок делегат для 2 ключей.

multimap::key_type (STL/CLR)

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

multimap::mapped_type (STL/CLR)

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

multimap::reference (STL/CLR)

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

multimap::reverse_iterator (STL/CLR)

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

multimap::size_type (STL/CLR)

Тип расстояния a (не отрицательного 2) между элементами.

multimap::value_compare (STL/CLR)

Порядок делегат для 2 значений элементов.

multimap::value_type (STL/CLR)

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

Функция Member

Описание

multimap::begin (STL/CLR)

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

multimap::clear (STL/CLR)

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

multimap::count (STL/CLR)

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

multimap::empty (STL/CLR)

Тесты отсутствуют ли какие-либо элементы.

multimap::end (STL/CLR)

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

multimap::equal_range (STL/CLR)

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

multimap::erase (STL/CLR)

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

multimap::find (STL/CLR)

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

multimap::insert (STL/CLR)

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

multimap::key_comp (STL/CLR)

Копирует порядок делегат для 2 ключей.

multimap::lower_bound (STL/CLR)

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

multimap::make_value (STL/CLR)

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

multimap::multimap (STL/CLR)

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

multimap::rbegin (STL/CLR)

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

multimap::rend (STL/CLR)

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

multimap::size (STL/CLR)

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

multimap::swap (STL/CLR)

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

multimap::to_array (STL/CLR)

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

multimap::upper_bound (STL/CLR)

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

multimap::value_comp (STL/CLR)

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

Оператор

Описание

multimap::operator= (STL/CLR)

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

operator!= (multimap) (STL/CLR)

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

operator< (multimap) (STL/CLR)

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

operator<= (multimap) (STL/CLR)

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

operator== (multimap) (STL/CLR)

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

operator> (multimap) (STL/CLR)

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

operator>= (multimap) (STL/CLR)

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

Интерфейсы

Интерфейс

Описание

ICloneable

Дублируйте объект.

IEnumerable

Последовательность между элементами.

ICollection

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

IEnumerable

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

ICollection

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

ITree<Key, Value>

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

Заметки

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

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

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

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

Если key_comp()(X, Y) выполняется, key_comp()(Y, X) должно быть значение.

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

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

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

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

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

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

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

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

Требования

Заголовок:<cliext/map>

Пространство имен: cliext

См. также

Ссылки

hash_map (STL/CLR)

hash_multimap (STL/CLR)

hash_multiset (STL/CLR)

hash_set (STL/CLR)

map (STL/CLR)

multiset (STL/CLR)

set (STL/CLR)

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

Справочник по библиотеке STL/CLR