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


multiset (STL/CLR)

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

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

template<typename Key>
    ref class multiset
        :   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>
    { ..... };

Параметры

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

Члены

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

Описание

multiset::const_iterator (STL/CLR)

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

multiset::const_reference (STL/CLR)

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

multiset::const_reverse_iterator (STL/CLR)

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

multiset::difference_type (STL/CLR)

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

multiset::generic_container (STL/CLR)

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

multiset::generic_iterator (STL/CLR)

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

multiset::generic_reverse_iterator (STL/CLR)

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

multiset::generic_value (STL/CLR)

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

multiset::iterator (STL/CLR)

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

multiset::key_compare (STL/CLR)

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

multiset::key_type (STL/CLR)

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

multiset::reference (STL/CLR)

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

multiset::reverse_iterator (STL/CLR)

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

multiset::size_type (STL/CLR)

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

multiset::value_compare (STL/CLR)

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

multiset::value_type (STL/CLR)

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

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

Описание

multiset::begin (STL/CLR)

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

multiset::clear (STL/CLR)

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

multiset::count (STL/CLR)

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

multiset::empty (STL/CLR)

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

multiset::end (STL/CLR)

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

multiset::equal_range (STL/CLR)

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

multiset::erase (STL/CLR)

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

multiset::find (STL/CLR)

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

multiset::insert (STL/CLR)

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

multiset::key_comp (STL/CLR)

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

multiset::lower_bound (STL/CLR)

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

multiset::make_value (STL/CLR)

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

multiset::multiset (STL/CLR)

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

multiset::rbegin (STL/CLR)

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

multiset::rend (STL/CLR)

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

multiset::size (STL/CLR)

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

multiset::swap (STL/CLR)

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

multiset::to_array (STL/CLR)

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

multiset::upper_bound (STL/CLR)

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

multiset::value_comp (STL/CLR)

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

Оператор

Описание

multiset::operator= (STL/CLR)

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

operator!= (multiset) (STL/CLR)

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

operator< (multiset) (STL/CLR)

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

operator<= (multiset) (STL/CLR)

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

operator== (multiset) (STL/CLR)

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

operator> (multiset) (STL/CLR)

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

operator>= (multiset) (STL/CLR)

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

Интерфейсы

Интерфейс

Описание

ICloneable

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

IEnumerable

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

ICollection

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

IEnumerable<T>

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

ICollection<T>

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

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

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

Заметки

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

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

Такой объект делегата должен установить строгий порядок клавишах типа multiset::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.(По умолчанию для объекта делегата, клавиш никогда не снижают в значении). В отличие от класса set (STL/CLR) шаблона, объект класса multiset шаблона не требует клавиш для всех элементов уникальными.(Двух или нескольких клавиш могут иметь эквивалентный упорядочение).

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

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

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

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

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

Требования

заголовок: <набор cliext/>

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

См. также

Ссылки

hash_map (STL/CLR)

hash_multiset (STL/CLR)

hash_multiset (STL/CLR)

hash_set (STL/CLR)

map (STL/CLR)

multiset (STL/CLR)

set (STL/CLR)

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

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