ГОСТ Р HCO/HL7 27951—2016
В.З Общие коллекции
Диаграмма классов типов данных общих коллекций приведена на рисунке В.11.
j
T
------------------------------ 1
a
m
y
I
sir
-coitteM(7«temertO BL
»cont»n*(5ET«T> »ubeet):BL
-eEnxXyO: BL
’ MffNl«»0-BL
*cen»»e*y() WT
mnton(T ctonent): $ET<T>
-union(SFT<T> «IheacQ’ SET«T»
-exceptiT etew it):S£T*T.
•ex»pt(SETVT> cttiefMt):S€T«T>
•wer»ecter,j$tT<T> othenei) S£T<T>!
-*tu«(): M.«T»
■i
T :AMY |
U S T
*♦*••00 T
•WO UST«T>
••Empty(): BL4
*<KrtE*»«yO:BL
•«cfT.rr *x*x] T
-contend(T Bern) BL
•*■*■0 -*Г
IVL
1 T:OT
y
|
w
!*tow()•T
I -towCbietfO BL
j*h<ghO:T
«bnd*(PQ;
; ’highClotedO BL
♦
*m )
QTYIdalaTypempte»<7diffTypel)
-eenterO.T
I*fw#>WL<T»
j*mter»ecUen(IVL<T>)r/l<T>
IVL<PQ>
•vageo:lVL<reet>
•un*0 CS
■ TQTY
GSLIST
•ficrementO: QTY {d*t«Type mplu fTdrffTyp*))
•pertodO ИТ
-denominetorO HT
I
T:QTY|
SUST
« « M ’T
♦*cMs<). QTY {detaType mptea^TdiffType»
-digbO UST<WT>
JT:AMY|
BAG
♦
•corrtam*<T b o d ): WT
-tsEmptyO: BL
♦fKXEmptyO: BL
•plos<BAO<T> x ) : BAO<T>
*mnu*(BAG«T»
x)
BAG<T>
Рисунок В.11 — Типы данных общих коллекций
В этом разделе описаны типы данных, представляющие собой «коллекции» других данных, а именно мно
жество SET. список LIST, «мешок» BAG и интервал IVL1). Эти типы коллекций определены как параметризованные
типы данных. Понятие параметризованного типа данных описано в подразделе В.1.9.5 «Параметризованные типы
данных».
В.3.1 Тип данных множества (SET) (специализация типа данных ANY)
Определение: значение, представляющее собой неупорядоченную совокупность различных однотипных зна
чений.
literal
promotion
template<AHY Т>
type Set<T> alias SET<T> speciali2es ANY )
вь
contains(T element)
;
BLisEmpty;
BLnotEmpty;
BLcontains(SET<T> subset);
3NT
cardinality;
SET<T> union(SET<T> otherset)
;
SET<T> union(T element);
SET<T> except(T element);
SET<T> except(SET<T> otherset);
SET<T> intersection(SET<T> otherset);
ST;
SET<T> (T
x ) ;
IVL<T> hull;
);
В некоторых языках программирования под типами «коллекций» понимаются контейнеры индивидуаль
но перечисляемых типов данных, поэтому интервал (нижняя граница — верхняя граница) в них не считался бы
коллекцией. Однако такая узкая интерпретация «коллекции» существенно зависит от представления/реализации.
С позиции семантики типа данных не существенно, «действительно ли элемент коллекции содержится в
коллек ции». Поэтому элементы коллекции не обязательно являются индивидуально перечисляемыми.
382