Trybos record iterators can be modified by the use of the first(), first(key), next(), pre-increment ++(), and post-increment ++(). The method first() causes the iterator to point to the first bank in a record, if any. The method first(key) causes the iterator to point to the first bank matching ``key'' in a record, if any. The method next() and the ++ operators iterate the iterator to the next bank, either of any name or of the same name, depending on the iterator class used.
In some cases, however, it is necessary to create a copy of an iterator, perform some iteration operation, and then return the iterated copy. This permits an iteration to take place relative to an iterator without changing the value of that iterator. The methods copy_first(), copy_first(key), and copy_next() are the same as first(), first(key), and next() respectively, except that the original iterator is not modified and instead a distinct iterator is returned.