ГОСТ РИСО 21090—2016
7.9.3.4 Равенство
Два непустых экземпляра типа данных DSET равны, если они содержат те же самые элементы.
Примечания
1Определение содержания элемента основано на той же семантике равенства, которая описана в настоя
щем стандарте, поэтому вполне возможно, кпримеру, что экземпляр типа DSET<CD) может быть равен экземпляру
типа DSET(CS).
2 Экземпляр типа DSET(INT) может быть равен экземпляру типа QSET(INT). если они содержат одни и теже
элементы.
7.9.3.5 Инварианты:
Отсутствуют.
Примечание — Правила об истории или режиме изменений применимы к элементу, где использован
тип данных BAG(T).
7.9.3.6 Операции
7.9.3.6.1 union(s : DSET(T)): DSET(T): множество, содержащее все элементы текущего множества
(this) и элементы другого множества (s) после удаления дубликатов. Операция union идентична опера
ции including.
7.9.3.6.2 union(bag : BAG(T)) : BAG(T): мультимножество, содержащее все элементы текущего
множества (this) и элементы другого мультимножества (bag). Дубликаты удаляются.
7.9.3.6.3 intersections : DSET(T)): DSET(T): пересечение текущего множества (this) и другого мно
жества (s), то есть все элементы, содержащиеся одновременно и в this, и в s.
7.9.3.6.4 intersection(bag : BAG(T)): DSET(T): пересечение текущего множества (this) и мультим
ножества bag.
7.9.3.6.5 minus[-](s : DSET(T)) . DSET(T): элементы текущего множества (this), не входящие во
множество s.
7.9.3.6.6 including(object : Т) : DSET(T): множество, содержащее все элементы текущего множе
ства (this), а также элемент object, если он еще не входит в текущее множество. Операция including
идентична операции union.
7.9.3.6.7 including(other : DSET(T)) : DSET(T): множество, содержащее все элементы текущего
множества (this) и элементы другого множества (other) после удаления дубликатов.
7.9.3.6.8 excluding(object: Т ): DSET(T): множество, содержащее все элементы текущего множе
ства (this) за вычетом элемента object.
7.9.3.6.9 excluding(other : DSET(T)) : DSET(T): множество, содержащее все элементы текущего
множества (this) за вычетом элементов другого множества (other).
7.9.3.6.10 symmetricDifference(s : DSET(T)): DSET(T): множество, содержащее все элементы, ко
торые входят либо в текущее множество (this), либо во множество s.
7.9.3.6.11 asList(): LIST(T): последовательность, содержащая все элементы текущего множества
(this) в произвольном порядке.
7.9.3.6.12 asBag() : BAG(T): мультимножество, содержащее все элементы текущего множества
(this).
7.9.3.7 Примеры
7.9.3.7.1 Целочисленные множества
«example xsi:type-"DSET-:NT”>
«item value-"3"/>
«item value-"6"/>
«item value-"9"/>
«item value-"il"/>
«/example>
Множество целых чисел (3, 6. 9,11). Следует обратить внимание на то, что тип множества содер
жит указание типа элементов в этом множестве (указание xsi:type=’ DSET" некорректно, поскольку тип
данных DSET является параметрическим).
«example xai:type-"L>SET_lNT">
«item value-"ll"/>
116