List iterator. More...
#include <ilserver/model.h>
Inherits IlsViewedRelIterator.
Public Types | |
typedef IlsListRelationIterator< RelationList > | Myself |
Myself is the type of the instantiated template class. | |
Public Member Functions | |
IlsListRelationIterator (RelationList &r) | |
Constructor. Creates an iterator for the list that is supplied as its argument. | |
IlsListRelationIterator (const Myself &rhs) | |
Copy constructor. Creates an iterator with the same characteristics as the one supplied as its argument. This iterator points to the same item in the list as the iterator supplied as its argument. | |
virtual IlsBoolean | eol () const |
Returns IlsTrue if the end of the list has been reached. | |
TargetTypeP | getNextQuietly () |
Provides quick access to the next element of the list accessible through this iterator. More... | |
Myself & | gotoEnd () |
Moves the iterator to the end of the list. | |
operator IlsBoolean () const | |
This conversion operator indicates whether the iterator has reached the end of the list. It returns IlsFalse if the list is empty or if at least one unsuccessful extraction has been performed. | |
IlsBoolean | operator!= (Myself &rhs) const |
Indicates whether the iterator is not at the same position as the one supplied as its argument. | |
CTargetTypePR | operator* () const |
Returns the next item to be read. The iterator remains at the same position. | |
Position | operator+ (int i) const |
Moves the iterator forward in the list according to the value supplied as its argument. More... | |
Myself & | operator++ () |
This increment operator moves the iterator to the next item in the list. More... | |
Myself & | operator++ (int) |
Myself & | operator+= (int i) |
Moves the iterator forward according to the value supplied as its argument. More... | |
Position | operator- (int i) const |
Moves the iterator backward in the list according to the value supplied as its argument. More... | |
Myself & | operator-- () |
Moves the iterator to the previous item in the list. More... | |
Myself & | operator-- (int) |
This operator is identical to operator--() except that it uses a prefix notation. More... | |
Myself & | operator-= (int i) |
Moves the iterator backward in the list according to the value supplied as its argument. More... | |
Myself & | operator<< (CTargetTypePR p) |
Adds an item to the list and puts it after the last item read by the iterator or at the beginning of the list if the iterator has not yet been used. More... | |
Myself & | operator= (const Position &rhs) |
Moves the iterator to the specified position. | |
Myself & | operator= (const Myself &rhs) |
Moves the iterator to the same position as the one supplied as its argument. | |
IlsBoolean | operator== (Myself &rhs) const |
Indicates whether the iterator occupies the same position as the one supplied as its argument. | |
Myself & | operator>> (TargetTypeP &p) |
Sequentially reads the items in the list. More... | |
CTargetTypePR | operator[] (int i) const |
Returns the i -th list item. | |
void | reset () |
Resets the iterator so that it points again to the first item of the list. | |
Myself & | seekp (const Position &position) |
Moves the iterator to the specified position. | |
Myself & | shrink () |
Removes the item following the last element read from the list, or, if the list has not yet been read, it removes the first item in the list. More... | |
Myself & | shrinkBefore () |
Removes the last item read from the list. More... | |
Position | tellp () const |
Returns the position of the iterator. | |
List iterator.
Library: server
This class is aliased (by typedef
) to Iterator in relation lists.
IlsException
, IlsOwnsList::Iterator
. TargetTypeP IlsListRelationIterator< RelationList >::getNextQuietly | ( | ) |
Provides quick access to the next element of the list accessible through this iterator.
It should not be used to evaluate a derived data member or to retrieve a value when using Rogue Wave Server transactions. This method returns a null
pointer when the end of the list is reached.
Example:
Position IlsListRelationIterator< RelationList >::operator+ | ( | int | i | ) | const |
Moves the iterator forward in the list according to the value supplied as its argument.
IlsEndOfList | If the iterator is moved past the last list item. |
Myself& IlsListRelationIterator< RelationList >::operator++ | ( | ) |
This increment operator moves the iterator to the next item in the list.
IlsEndOfList | If the iterator is moved past the last list item. |
Myself& IlsListRelationIterator< RelationList >::operator++ | ( | int | ) |
This operator is identical to operator++()
except that it uses a prefix notation.
IlsEndOfList | If the iterator is moved past the last list item. |
Myself& IlsListRelationIterator< RelationList >::operator+= | ( | int | i | ) |
Moves the iterator forward according to the value supplied as its argument.
IlsEndOfList | If the value provided moves the iterator past the last list item. |
Position IlsListRelationIterator< RelationList >::operator- | ( | int | i | ) | const |
Moves the iterator backward in the list according to the value supplied as its argument.
IlsBeginningOfList | If the iterator is moved past the first list item. |
Myself& IlsListRelationIterator< RelationList >::operator-- | ( | ) |
Moves the iterator to the previous item in the list.
IlsBeginningOfList | If the iterator is moved past the first list item. |
Myself& IlsListRelationIterator< RelationList >::operator-- | ( | int | ) |
This operator is identical to operator--()
except that it uses a prefix notation.
IlsBeginningOfList | If the iterator is moved past the first list item. |
Myself& IlsListRelationIterator< RelationList >::operator-= | ( | int | i | ) |
Moves the iterator backward in the list according to the value supplied as its argument.
IlsBeginningOfList | If the value provided moves the iterator past the first list item. |
Myself& IlsListRelationIterator< RelationList >::operator<< | ( | CTargetTypePR | p | ) |
Adds an item to the list and puts it after the last item read by the iterator or at the beginning of the list if the iterator has not yet been used.
If several iterators have been declared for the same list, be careful when you use one of these iterators to add an item to the list. Let us suppose we have an iterator iw
, which performs write operations, and an iterator ir
, which performs read operations. If ir
and iw
point to the same item in the list, and if iw
is used to add an item to this list, ir
may behave in an unexpected way.
IlsMaxCardViolated | If the maximal cardinality has been reached. |
IlsOwnershipCycle | If a cycle has been detected among ownership relations. |
Myself& IlsListRelationIterator< RelationList >::operator>> | ( | TargetTypeP & | p | ) |
Sequentially reads the items in the list.
When the iterator is used for the first time, the item read is the one at the beginning of the list. If the iterator has reached the last item in the list, and if the list is not empty, no value is assigned to the argument of the operator during the next read operation. The conversion operator to IlsBoolean
returns IlsFalse
(see operator IlsBoolean()
).
If an iterator is built for an empty list, the conversion operator of the iterator returns IlsFalse
.
Myself& IlsListRelationIterator< RelationList >::shrink | ( | ) |
Removes the item following the last element read from the list, or, if the list has not yet been read, it removes the first item in the list.
If several iterators or positions have been declared for the same list, be careful when you use the shrink()
function with one of these iterators or positions. Let us suppose we have an iterator iw
, which performs write operations, and an iterator ir
, which performs read operations. If ir
and iw
point to the same item in the list, and if iw
executes the function shrink
, ir
may behave in an unexpected way. Also, if iw
points to a given item in the list and ir
points to the next item, ir
may behave in an unexpected way if iw
executes the function shrink
.
IlsUpdateForbidden | If the member function isUpdateAllowed() returns IlsFalse for the type where the relation is declared. |
IlsMinCardViolated | If the minimal cardinality has been reached. |
IlsEndOfList | If the iterator points to the last item of the list. |
Myself& IlsListRelationIterator< RelationList >::shrinkBefore | ( | ) |
Removes the last item read from the list.
Restrictions of the same kind as those mentioned for shrink()
apply to shrinkBefore()
.
IlsMinCardViolated | If the minimal cardinality has been reached. |
IlsBeginningOfList | if the iterator points to the first item of the list. |
© Copyright 2017, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.