set Class
Набор класса контейнера STL используется для хранения и извлечения данных из коллекции, в которой содержатся значения элементов, которые уникальным и файлы в качестве значения ключа в соответствии с которым данные автоматически упорядочиваются.Значение элемента в наборе не может быть изменено напрямую.Вместо этого следует удалять старые значения и вставить элементы с новыми значениями.
template <
class Key,
class Traits=less<Key>,
class Allocator=allocator<Key>
>
class set
Параметры
Key
Тип данных элемента, который необходимо сохранить в наборе.Traits
Тип, который предоставляет объект функции, который может сравнить 2 значений элементов как ключи сортировки для определения их относительного порядка в наборе.Этот аргумент является необязательным и предикат less бинарный <Key> значение по умолчанию.Allocator
Тип, представляющий сохраненные объект выделения, инкапсулирующий сведения о выделении памяти и освобождение набора.Этот аргумент является необязательным и значение по умолчанию allocator*<Key>.*
Заметки
Набор STL:
Ассоциативный контейнер, который контейнер переменный размер, который поддерживает - это фактическое получение значений элементов на основе связанном значению ключа.Кроме того, это простой ассоциативный контейнер, поскольку его значения элемента его значений ключей.
Reversible, поскольку он обеспечивает двунаправленный итератор, чтобы получить доступ к его элементы.
Отсортированы, поскольку его элементы упорядочены по значениям ключей в контейнере в соответствии с указанной функцией сравнения.
Уникален в том смысле, что каждый из элементов должен иметь уникальный ключ.Поскольку набор также простой ассоциативный контейнер элементов также уникальным.
Набор также описывается, как класс шаблона, поскольку она обеспечивает функциональные возможности родова и не зависит от конкретного типа данных, содержащихся как элементы.Тип данных следует использовать вместо, определенный как параметр в шаблоне класса вместе с функцией и распределитель сравнения.
Выбор типа контейнера должен быть основан на типе обычно поиск и вставку, необходимые приложению.Ассоциативные контейнеры оптимизированные для операций уточняющего запроса, вставки и удаления.Функции-члены, которые явно поддерживают эти операции эффективны, выполняя их во времени, на среднем пропорциональном к логарифму количество элементов в контейнере.Вставка элементов объявляет никаких итераторы и удаление элементов делает недействительным только те итераторы, которые специально указали на удаленных элементов.
Набор должен быть ассоциативным контейнером выбора, когда условия связывание значений с своими ключами содержимое приложением.Элементы набора уникальным и файлов в качестве их собственных ключей сортировки.Модель для данного типа структуры упорядоченный список, указывает слова в которых слова могут указываться только один раз.Если несколько вхождений слова были разрешены, то мультинабора будет соответствующей структурой контейнера.Если значения должны быть вложенным в список слов уникального ключа, то сопоставление будет соответствующей структуры для хранения этих данных.Если вместо ключи не уникальны, multimap является контейнером выбора.
Набор упорядочивает последовательность он контролирует, вызвав, хранящихся объект функции типа key_compare.Этот сохраненный объект, функция сравнения, которая может обращаться путем вызова функции-члена key_comp.Как правило, элементы должны быть просто меньше эквивалентно задать таким образом, чтобы этот порядок с учетом любых 2 элемента он может быть определен этому, что они эквивалентны (в том смысле, что ни одно из значений не меньше другого) или что один меньше другого.Это приводит к тому, что упорядочение между элементами неравнозначными.На более технической заметку, функция сравнения является строгий порядок предикат, накладывают слабых в стандартном математические смысле.Binary предикат f(x, y) объект функции, имеется 2 объекта аргумента x и y, а возвращаемое значение из true или false.Упорядочение наведенный на наборе строгие слабые приказывающ если предикат irreflexive бинарный, антисимметрическ и транзитивн и если сравнение транзитивна, где 2 объекта x и y, определенные для быть эквивалентны, когда и f(x, y) и f(y, x) имеет значение false.Если более строгое условие равенства между ключами заменяет любая из эквивалентности, то сортировка будет итогом (в том смысле, что все элементы упорядочиваются по отношению друг к другу) и соответствующие ключи, которые будут indiscernible друг от друга.
Итератор, предоставляемый задать классом двунаправленный итератор, но член класса действует insert и набор имеет версии, принимающие в качестве параметров шаблона более простой итератор ввода, в котором требования к функциональности минимальне, чем требования к гарантированные классом двухнаправленных итераторов.Другие понятия итератора семейство формы, связанную уточнениями в их функциональности.Каждое понятие итератора имеет собственный набор требований и алгоритмы, которые работают с ними ограничение сусла их предположений требованиям, предоставленные этим типом итератора.Оно может быть требуется итератор ввода может быть разыменованн для ссылки на объект и что он может быть увеличен до следующего итератору в последовательности.Это минимальный набор функциональных возможностей, однако оно достаточно для общения значение о диапазоне итераторов [_First, _Last) в контексте функции-члены типа.
Конструкторы
Создает набор, пусты или копировать все или часть другого набора. |
Определения типов
Тип, представляющий allocator класс для заданного объекта. |
|
Тип, предоставляющий двунаправленный итератор, который может считывать элемент const в наборе. |
|
Тип, который предоставляет указатель на элемент const в наборе. |
|
Тип, который предоставляет ссылку на элемент const, хранящихся в наборе для чтения и для выполнения операций const. |
|
Тип, предоставляющий двунаправленный итератор, который может считывать любой элемент const в наборе. |
|
Тип знакового целого числа, который может использоваться для представления количество элементов набора в диапазоне между элементами указал к итераторам. |
|
Тип, предоставляющий двунаправленный итератор, который может считывать или изменять любой элемент в набор. |
|
Тип, который предоставляет объект функции, который может сравнить 2 ключа сортировки, чтобы указать относительный порядок 2 элементов в наборе. |
|
Тип описывает объект, хранящийся как элемент набора в его емкости как ключ сортировки. |
|
Тип, который предоставляет указатель элемент в набор. |
|
Тип, который предоставляет ссылку на элемент, хранящийся в наборе. |
|
Тип, предоставляющий двунаправленный итератор, который может считывать или изменяет элемент в обращенном наборе. |
|
Тип целого числа без знака, которое может представлять число элементов в наборе. |
|
Тип, который предоставляет объект функции, который может сравнить 2 элемента для определения их относительного порядка в наборе. |
|
Тип описывает объект, хранящийся как элемент набора в его емкости в качестве значения. |
Функции элементов
Возвращает итератор, который решает первый элемент в набор. |
|
Итератор, который соответствует const возвращает первый элемент в набор. |
|
Итератор, который соответствует const возвращает расположение преуспевая последний элемент в набор. |
|
Стирает все элементы набора. |
|
Возвращает количество элементов в наборе параметр- ключ которого соответствует заданному ключу. |
|
Возвращает итератор адресации const первый элемент в обращенном наборе. |
|
Итератор, который соответствует const возвращает расположение преуспевая последний элемент в обращенном наборе. |
|
Вставляет построенный элемент в размещение в набор. |
|
Вставляет построенный элемент в размещение в набор с подсказкой размещения. |
|
Тесты, если набор пуст. |
|
Возвращает итератор, который решает расположение преуспевая последний элемент в набор. |
|
Возвращает пара итераторов соответственно к первому элементу в наборе с ключом, который превышает указанный ключ и к первому элементу в наборе с ключом, которое больше или равно ключ. |
|
Удаляет элемент или диапазон элементов в наборе из заданных позиций или удаляет элементы, которые соответствуют заданному ключу. |
|
Возвращает итератор адресацию расположение элемента в наборе, который содержит ключевое эквивалентно заданному ключу. |
|
Возвращает копию объекта allocator, используемый для построения набора. |
|
Вставляет элемент или диапазон элементов в наборе. |
|
Извлекает копию объекта, используемый для сравнения ключей order в наборе. |
|
Возвращает итератор к первому элементу в наборе с ключом, которое больше или равно указанный ключ. |
|
Возвращает максимальную длину набора. |
|
Возвращает итератор адресацию первый элемент в обращенном наборе. |
|
Возвращает итератор, который решает расположение преуспевая последний элемент в обращенном наборе. |
|
Возвращает количество элементов в наборе. |
|
Обменивает 2 наборов элементов. |
|
Возвращает итератор к первому элементу в наборе с ключом, который превышает указанный ключ. |
|
Извлекает копию объекта сравнения, используемого в значения элемента order в наборе. |
Операторы
Заменяет элементы набора с копией другого набора. |
Требования
Header: <set>
std пространство имен: