![]() |
PIP 5.6.1
Platform-Independent Primitives
|
Множество уникальных значений. Подробнее...
#include <piset.h>
Классы | |
| class | const_iterator |
| Константный итератор по элементам PISet. Подробнее... | |
Открытые члены | |
| PISet () | |
| Создает пустое множество. | |
| PISet (const T &value) | |
Создает множество, содержащее value. | |
| PISet (const T &v0, const T &v1) | |
Создает множество, содержащее v0 и v1. | |
| PISet (const T &v0, const T &v1, const T &v2) | |
Создает множество, содержащее v0, v1 и v2. | |
| PISet (const T &v0, const T &v1, const T &v2, const T &v3) | |
Создает множество, содержащее v0, v1, v2 и v3. | |
| const_iterator | begin () const |
| Возвращает итератор на первый элемент. | |
| const_iterator | end () const |
| Возвращает итератор на элемент, следующий за последним. | |
| PISet (const PIVector< T > &values) | |
Создает множество из вектора values. | |
| PISet (const PIDeque< T > &values) | |
Создает множество из дека values. | |
| PISet< T > & | operator<< (const T &t) |
Добавляет t в множество. | |
| PISet< T > & | operator<< (T &&t) |
Перемещает t в множество. | |
| PISet< T > & | operator<< (const PISet< T > &other) |
Добавляет все элементы из other. | |
| bool | contains (const T &t) const |
Проверяет наличие элемента t в множестве. | |
| bool | operator[] (const T &t) const |
Проверяет наличие элемента t в множестве. | |
| PISet< T > & | remove (const T &t) |
Удаляет элемент t из множества. | |
| PISet< T > & | unite (const PISet< T > &v) |
Объединяет множество с v. | |
| PISet< T > & | subtract (const PISet< T > &v) |
Удаляет все элементы, присутствующие в v. | |
| PISet< T > & | intersect (const PISet< T > &v) |
Оставляет только элементы, которые есть и в v. | |
| PISet< T > & | operator+= (const PISet< T > &v) |
| Синоним unite(). | |
| PISet< T > & | operator|= (const PISet< T > &v) |
| Синоним unite(). | |
| PISet< T > & | operator-= (const PISet< T > &v) |
| Синоним subtract(). | |
| PISet< T > & | operator&= (const PISet< T > &v) |
| Синоним intersect(). | |
| PIVector< T > | toVector () const |
| Возвращает содержимое множества в виде PIVector. | |
| PIDeque< T > | toDeque () const |
| Возвращает содержимое множества в виде PIDeque. | |
Открытые члены унаследованные от PIMap< T, uchar > | |
| PIMap< T, uchar > & | operator<< (const PIMap< T, uchar > &other) |
Добавляет все элементы из other, перезаписывая существующие ключи. | |
| PIMap () | |
| Создает пустой словарь. | |
| PIMap (const PIMap< T, uchar > &other) | |
| Копирующий конструктор. | |
| PIMap (PIMap< T, uchar > &&other) | |
| Перемещающий конструктор. | |
| PIMap (std::initializer_list< std::pair< T, uchar > > init_list) | |
| Создает словарь из списка инициализации C++11. Подробнее... | |
| PIMap< T, uchar > & | operator= (const PIMap< T, uchar > &other) |
| Оператор присваивания. | |
| PIMap< T, uchar > & | operator= (PIMap< T, uchar > &&other) |
| Оператор перемещающего присваивания. | |
| iterator | begin () |
| Итератор на первый элемент. | |
| iterator | end () |
| Итератор на элемент, следующий за последним элементом. | |
| reverse_iterator | rbegin () |
| Обратный итератор на первый элемент. | |
| reverse_iterator | rend () |
| Обратный итератор на элемент, следующий за последним элементом. | |
| size_t | size () const |
| Количество элементов в словаре. Подробнее... | |
| int | size_s () const |
| Количество элементов в словаре в виде знакового числа. Подробнее... | |
| size_t | length () const |
| Синоним size(). Подробнее... | |
| bool | isEmpty () const |
| Проверяет, пуст ли словарь. Подробнее... | |
| bool | isNotEmpty () const |
| Проверяет, содержит ли словарь элементы. Подробнее... | |
| uchar & | operator[] (const T &key) |
Полный доступ к элементу по ключу key. Подробнее... | |
| const uchar & | at (const T &key) const |
Доступ исключительно на чтение к элементу по ключу key. Подробнее... | |
| uchar | take (const T &key, const uchar &default_=uchar()) |
Удаляет элемент с ключом key и возвращает его значение. | |
| bool | operator== (const PIMap< T, uchar > &m) const |
Сравнивает этот словарь с m. | |
| bool | operator!= (const PIMap< T, uchar > &m) const |
Сравнивает этот словарь с m. | |
| bool | contains (const T &key) const |
Проверяет, содержит ли словарь ключ key. | |
| bool | containsValue (const uchar &value) const |
Проверяет, содержит ли словарь значение value. | |
| PIMap< T, uchar > & | reserve (size_t new_size) |
Резервируется память под как минимум new_size элементов. | |
| PIMap< T, uchar > & | remove (const T &key) |
Удаляет элемент с ключом key. | |
| PIMap< T, uchar > & | removeWhere (std::function< bool(const T &key, const uchar &value)> test) |
Удаляет все элементы, удовлетворяющие условию, заданному в передаваемой функции test. | |
| PIMap< T, uchar > & | erase (const T &key) |
| Синоним функции remove(). | |
| PIMap< T, uchar > & | clear () |
| Очищает словарь. Подробнее... | |
| void | swap (PIMap< T, uchar > &other) |
Меняет местами этот словарь и other. Подробнее... | |
| PIMap< T, uchar > & | insert (const T &key, const uchar &value) |
Вставляет значение value по ключу key. Подробнее... | |
| PIMap< T, uchar > & | insert (const PIPair< T, uchar > &pair) |
Вставляет элемент pair. Подробнее... | |
| uchar | value (const T &key, const uchar &default_=uchar()) const |
Возвращает значение элемента по ключу key или default_ если такого элемента нет. | |
| PIVector< uchar > | values () const |
| Возвращает значения всех элементов словаря. | |
| T | key (const uchar &value, const T &default_=T()) const |
Возвращает ключ первого элемента, значение которого совпадает с value или default_ если такого элемента нет. | |
| PIVector< T > | keys () const |
| Возвращает ключи всех элементов словаря. | |
| void | forEach (std::function< void(const T &key, const uchar &value)> f) const |
Вызывает f для каждого элемента словаря. | |
| PIMap< Key2, T2 > | map (std::function< PIPair< Key2, T2 >(const T &key, const uchar &value)> f) const |
Создает новый PIMap из результатов применения f к каждому элементу словаря. | |
| PIVector< ST > | map (std::function< ST(const T &key, const uchar &value)> f) const |
Создает новый PIVector из результатов применения f к каждому элементу словаря. | |
| PIMap< T, uchar > | filter (std::function< bool(const T &key, const uchar &value)> test) const |
Возвращает новый словарь со всеми элементами, прошедшими проверку, задаваемую в передаваемой функции bool test(const Key & key, const T & value). | |
Относящиеся к классу функции | |
(не члены класса) | |
| template<typename T > | |
| PISet< T > | operator+ (const PISet< T > &v0, const PISet< T > &v1) |
| Возвращает объединение двух множеств. | |
| template<typename T > | |
| PISet< T > | operator- (const PISet< T > &v0, const PISet< T > &v1) |
| Возвращает разность двух множеств. | |
| template<typename T > | |
| PISet< T > | operator| (const PISet< T > &v0, const PISet< T > &v1) |
| Возвращает объединение двух множеств. | |
| template<typename T > | |
| PISet< T > | operator& (const PISet< T > &v0, const PISet< T > &v1) |
| Возвращает пересечение двух множеств. | |
| template<typename Type > | |
| PICout | operator<< (PICout s, const PISet< Type > &v) |
| Оператор вывода в PICout. | |
Множество уникальных значений.
Этот класс используется для хранения коллекции уникальных элементов любого типа. Вы можете добавлять значения в множество с помощью operator<< или функции insert(). Вы можете проверить, существует ли значение в множестве, используя operator[] или функцию contains(). Эти операции имеют логарифмическую сложность. Для перебора всех элементов используйте итераторы в стиле STL begin() и end().
Множество реализовано как обёртка над PIMap, где ключами являются элементы, а значениями являются фиктивные байтовые значения (используются только для хранения).