ГОСТ Р ИСО 10303-22-2002
- если он установлен в начале соответствующего экземпляра агрегата, данная команда делает
первый элемент данного экземпляра текущим;
- если он был установлен на последний элемент соответствующего экземпляра агрегата, в
конце данного экземпляра или экземпляр был пустой, то итератор будет переустановлен в конец
экземпляра агрегата и не будет иметь никакого текущего элемента;
- если связанный с итератором экземпляр агрегата является упорядоченным набором (коллек
цией), новым текущим элементом будет элемент, непосредственно следующий за установленным,
если он не является последним. В этом случае итератор будет установлен командой на переход
к предыдущему элементу, которая текущим сделает последний элемент соответствующего экземпля
ра агрегата;
- если связанный с итератором экземпляр агрегата является неупорядоченным набором (кол
лекцией), реализация должна отслеживать просмотр элементов так, чтобы многократные вызовы
команды на переход к следующему элементу перемещали итератор по всем элементам соответству
ющего экземпляра агрегата без повторений. Определение того, какой из оставшихся элементов бу дет
следующим, оставлено на усмотрение реализации.
Вход
Итератор:iterator;
устанавливаемый итератор.
Выход
Результат:boolean_value;
TRUE, если Итератор (Iterator) установлен с новым текущим элементом,
FALSE, если Iterator не установлен с новым текущим элементом, так как
не существует последующего элемента агрегата.
Указатели возможных ошибок
MXNDEFДоступ к СИДД-модели не определен.
AI NEXSЭкземпляр агрегата не существует.
IR NEXSИтератор не существует.
TR NAVLТранзакция недоступна в текущем сеансе.
TREABТранзакция прервана аварийно.
SY ERRОбнаружена ошибка основной системы.
Влияние на соеду СИЛД
Iterator должен быть установлен с текущим элементом, непосредственно следующим за пре
дыдущим текущим элементом, существовавшим перед вызовом данной команды, как это описано
выше.
Iterator.position увеличивается.
10.12.7 П о л у ч е н и е т е к у щ е г о э л е м е н т а
Данная команда возвращает значение текущего элемента, на который указывает итератор.
Вход
Итератор:iterator;
итератор, определяющий экземпляр агрегата и возвращаемый элемент.
Выход
Значение:primitive;
текущий член, указанный итератором.
Указатели возможных ошибок
\1X_NDEFДоступ к СИДД-модели не определен.
AI_NEXSЭкземпляр агрегата не существует.
AL_NSETЭкземпляр агрегата является пустым.
IR_NEXSИтератор не существует.
IR_NSETТекущий элемент в итераторе не установлен.
VA_NSETЗначение позиции текущего элемента агрегата не установлено.
TR_NAVLТранзакция недоступна в текущем сеансе.
TR_EABТранзакция прервана аварийно.
SY_ERRОбнаружена ошибка основной системы.
10.12.8П о л у ч е н и е з н а ч е н и я г р а н и ц ы по и т е р а т о р у
Данная команда возвращает значение p«pulation_dependent_bound действительного, строкового
или двоичного типа для значения элемента агрегата, на который указывает итератор. Если суше-
82