set (STL/CLR)
Описание объекта класса шаблона, что элементы управления менять- длины последовательность элементов являются двунаправленными, имеет доступ. Используется контейнер set для управления последовательность элементов как a (почти) сбалансировало упорядоченное дерево узлов, каждый расположении один элемент.
В описании ниже, GValue совпадает с GKey, которые, в свою очередь совпадает с Key если здесь не будет ссылочного типа, в случае которого это Key^.
template<typename Key>
ref class set
: 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>
{ ..... };
Параметры
- Ключ
Тип ключа для элемента в управляемой последовательности.
Члены
Определение типа |
Описание |
---|---|
Тип постоянного итератора для управляемой последовательности. |
|
Тип постоянной ссылки на элемент. |
|
Тип константы обратного итератора для контролируемой последовательности. |
|
Тип расстояния (возможно, подписанного a 2) между элементами. |
|
Тип универсального интерфейса для контейнера. |
|
Тип итератора для универсального интерфейса для контейнера. |
|
Тип обратного итератора для универсального интерфейса для контейнера. |
|
Тип элемента для универсального интерфейса для контейнера. |
|
Тип итератора для управляемой последовательности. |
|
Порядок делегат для 2 ключей. |
|
Тип ключа упорядочения. |
|
Тип ссылки на элемент. |
|
Тип обратного итератора для контролируемой последовательности. |
|
Тип расстояния a (не отрицательного 2) между элементами. |
|
Порядок делегат для 2 значений элементов. |
|
Тип элемента. |
Функция Member |
Описание |
---|---|
Задает начало управляемой последовательности. |
|
Удаляет все элементы. |
|
Подсчитывает число элементов, соответствующий указанному ключу. |
|
Тесты отсутствуют ли какие-либо элементы. |
|
Задает конец управляемой последовательности. |
|
Находит диапазон, соответствующий указанному ключу. |
|
Удаляет элементы в указанных положениях. |
|
Определяет элемент, соответствующий указанному ключу. |
|
Добавляет элементы. |
|
Копирует порядок делегат для 2 ключей. |
|
Находит начало диапазона, соответствующий указанному ключу. |
|
Создает объект значение. |
|
Задает начало обратной управляемой последовательности. |
|
Задает конец обратной управляемой последовательности. |
|
Создает объект контейнера. |
|
Подсчитывает количество элементов. |
|
Меняет местами содержимое двух контейнеров. |
|
Копирует контролируемая последовательность в новый массив. |
|
Находит конечную точку диапазона, соответствующий указанному ключу. |
|
Копирует порядок делегат для 2 значений элементов. |
Оператор |
Описание |
---|---|
Заменяет контролируемая последовательность. |
|
Определяет, является ли объект set не равен другому объекту set. |
|
Определяет, является ли объект set меньше другой объект set. |
|
Определяет, является ли объект set меньше или равно другому объекту set. |
|
Определяет, является ли объект set равен другому объекту set. |
|
Определяет, является ли объект set больше другого объекта set. |
|
Определяет, является ли объект set больше или равно другому объекту set. |
Интерфейсы
Интерфейс |
Описание |
---|---|
Дублируйте объект. |
|
Последовательность между элементами. |
|
Обеспечение группу в составе элементы. |
|
Через последовательность типизированных элементов. |
|
Обеспечение группу в составе типизированных элементов. |
|
ITree<Key, Value> |
Обслуживайте универсальный контейнер. |
Заметки
Объект выделяет и освобождает хранилище для последовательности его элементов управления в отдельные узлы. Он добавляет элементы в a (почти) не балансировал дерево, это не позволяет упорядоченный, изменив ссылки между узлами, не скопировать содержимое одного узла на другой. Это означает, что можно добавлять и удалять элементы свободно, не нарушая остальных элементов.
Объект сортирует последовательность его элементы управления путем вызова делегата сохраненный объект типа set::key_compare (STL/CLR). Можно определить, сохраненный объект делегата при построении набор; если не указан ни один объект делегата, по умолчанию используется сравнение operator<(key_type, key_type). Чтобы открыть этот сохраненный объект, вызвав функцию-член set::key_comp (STL/CLR)().
Такой объект делегата должен создать строгого слабое упорядочение на ключах типа set::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) ложно. (Для объекта делегата, по умолчанию ключи никогда не уменьшает значение). В отличие от класса шаблона set (STL/CLR), объект класса шаблона set не требует ключи для всех элементов уникальны. (Два или более ключи могут иметь соответствующий заказ).
Каждый элемент служит в качестве ey, и как значение. Последовательность представляется в виде, позволяющем поиск, вставки и удаления произвольного элемента с несколькими операций пропорциональных в логарифму числа элементов в последовательности (логарифмическом времени). Кроме того, что вставка элемента нет итераторы, и удаление элементов только что эти итераторы, указывающих на удаленный элемент.
Набор поддерживает двунаправленные итераторы. это означает, что можно выполнить с соседним элементам заданного итератор, обозначает элемент в контролируемой последовательности. Специальный головной узел соответствует итератору возвращенным set::end (STL/CLR)(). Можно декремент такой итератор для достижения последнего элемента в контролируемой последовательности, если в настоящий момент. Можно увеличить, итератор для достижения головного узла, а затем сравнивает равно end(). Однако нельзя разыменование итератор, end().
Обратите внимание, что нельзя ссылаться установка непосредственно элементу заданного свою позицию численную -- это требует произвольного доступа итератора.
Задать итератор хранит дескриптор его соответствующую установленному узел, который, в свою очередь, сохраняет его связанный дескриптор контейнер. Можно использовать итераторы только со связанными объектами контейнера. Задать итератор остается допустимым, пока его связанный узел связан с определенным набором. Кроме того, допустимый итератор dereferencable -- его можно использовать для доступа или изменения значения элемента он обозначает -- пока не равно end().
Стирающ или удаление элементов вызывает деструктор этого сохраненного значения. Удалить контейнер удаляются все элементы. Таким образом, тип которого контейнер элемента ссылочный класс гарантирует, что никаких элементов не переживают контейнер. Однако стоит отметить, что контейнер дескрипторов делает not уничтожает его элементы.
Требования
Заголовок:<cliext/set>
Пространство имен: cliext