|
User Documentation |
|
Centre for Vision, Speech & Signal Processing |
Comments:
The class 'DLIterC' is a representation of iterator on
a double-linked list. This iterator can change the list.
Iterator is connected with a list. If the
list is empty, the iterator points to the head of the list. The result
of positioning of an iterator need not to be a proper element.
To avoid pointing to the head of the list the head skipping
moving operators NextCrc() and/or PrevCrc() must be used.
Parent Classes:
Derived Classes:
Methods:
- DLIterC()
-
Default constructor.
This constructor is provided because
of trouble with an array of iterators. The present ANSI C++
does not enable to pass any constructor of array elements
different from a defaut constructor. The extension of GNU g++
compiler is not supported by other compiler. The constructor
should be used only for such purposes. If this limitation of C++
is removed, the constructor will be obsolete. An instantiation
can be only assigned to be a proper iterator or destructed.
Constructors, copies, assigment, and destructor
-----------------------------------------------
- DLIterC(DListC<DataC> & list)
-
Creates an iterator operating on the 'list'.
The iterator will point to the first element if there is any, otherwise
to the head of the list.
- DLIterC(const DLIterC<DataC> & iter)
-
Copy constructor.
- DLIterC<DataC> Copy() const
-
Copy constructor.
- const DLIterC<DataC> & operator=(const DLIterC<DataC> & it)
-
- ~DLIterC()
-
Destructor.
Access to the object
--------------------
- const DLIterC<DataC> & DLIter() const
-
Self-identification. The function returns this object.
- BooleanT IsValid() const
-
Returns TRUE if the iterator was not constructed by the default constructor.
- DListC<DataC> List() const
-
Returns the list whose element is pointed to by this iterator.
- const DLIterC<DataC> & MoveBef(DLIterC<DataC> & iter)
-
The element pointed to by 'iter' is moved before the element
pointed to by this iterator. This iterator will point to the same
element as before, the iterator 'iter' will point to the previous
element in the original list.
- const DLIterC<DataC> & MoveAft(DLIterC<DataC> & iter)
-
The element pointed to by 'iter' is moved after the element
pointed to by this iterator. This iterator will point to the same
element as before, the iterator 'iter' will point to the previous
element in the original list.
- const DLIterC<DataC> & MoveBef(DListC<DataC> & list)
-
All elements of the 'list' are moved before the element
pointed to by this iterator. The 'list' will be empty after
this operation.
BaseBodyDLIterC
- const DLIterC<DataC> & MoveAft(DListC<DataC> & list)
-
All elements of the 'list' are moved before the element
pointed to by this iterator. The 'list' will be empty after
this operation.
- const DLIterC<DataC> & MoveBef(BaseBodyDLIterC<DataC> & iter)
-
The element pointed to by 'iter' is moved before the element
pointed to by this iterator. This iterator will point to the same
element as before, the iterator 'iter' will point to the previous
element in the original list.
- const DLIterC<DataC> & MoveAft(BaseBodyDLIterC<DataC> & iter)
-
The element pointed to by 'iter' is moved after the element
pointed to by this iterator. This iterator will point to the same
element as before, the iterator 'iter' will point to the previous
element in the original list
- operator bool() const
-
Is iterator at a valid element ?
This is here to keep the SGI compiler happy.
- DataC & Data()
-
Access to the object contained in the list element.
- DataC & operator*()
-
Access to the object contained in the list element.
- DataC * operator->()
-
Access to the object contained in the list element.
- const DataC & Data() const
-
Access to the object contained in the list element.
- const DataC & operator*() const
-
Access to the object contained in the list element.
- const DataC * operator->() const
-
Access to the object contained in the list element.
----------- Positioning the iterator -----------------------------
- BaseBodyDLIterC<DataC> & First()
-
Sets the iterator to point to the first element of the list.
- BaseBodyDLIterC<DataC> & Last()
-
Sets the iterator to point to the last element of the list.
- BaseBodyDLIterC<DataC> & Next()
-
Moves the iterator to the successor of the element.
- void operator++(int)
-
Moves the iterator to the successor of the element.
- BaseBodyDLIterC<DataC> & Prev()
-
Moves the iterator to the predecessor of the element.
- void operator--(int)
-
Moves the iterator to the predecessor of the element.
- BaseBodyDLIterC<DataC> & NextCrc()
-
Moves the iterator to the successor of the element. If the result
element is not a proper element of the list the iterator is moved
to the first element.
- BaseBodyDLIterC<DataC> & PrevCrc()
-
Moves the iterator to the predecessor of the element. If the result
element is not a proper element of the list the iterator is moved
to the last element.
- BaseBodyDLIterC<DataC> & Nth(LongIntT n)
-
Sets to the n-th element of the list. The index 'n' can be
negative. The first element of the list has the index 0,
the last element has the index -1. It does not skip the head
of the list.
- BaseBodyDLIterC<DataC> & RelNth(LongIntT n)
-
Moves to the n-th element from the current element.
The index 'n' can be positive, zero, or negative.
Particularly, the n = 0 means no move,
n = 1 means the move to the next element,
and n = -1 means the move to the previous element.
Modification of the list item
-----------------------------
- const BaseBodyDLIterC<DataC> & InsBef(const DataC & data)
-
Inserts the new element containing 'data' before the element
pointed to by this iterator. This iterator is returned.
- const BaseBodyDLIterC<DataC> & InsAft(const DataC & data)
-
Inserts the new element containing 'data' after the element
pointed to by this iterator. This iterator is returned.
- const BaseBodyDLIterC<DataC> & MoveBef(BaseBodyDLIterC<DataC> & iter)
-
The element pointed to by 'iter' is moved before the element
pointed to by this iterator. This iterator will point to the same
element as before, the iterator 'iter' will point to the previous
element in the original list.
- const BaseBodyDLIterC<DataC> & MoveAft(BaseBodyDLIterC<DataC> & iter)
-
The element pointed to by 'iter' is moved after the element
pointed to by this iterator. This iterator will point to the same
element as before, the iterator 'iter' will point to the previous
element in the original list.
- const BaseBodyDLIterC<DataC> & MoveBef(BodyDListC<DataC> & list)
-
All elements of the 'list' are moved before the element
pointed to by this iterator. The 'list' will be empty after
this operation.
- const BaseBodyDLIterC<DataC> & MoveAft(BodyDListC<DataC> & list)
-
All elements of the 'list' are moved before the element
pointed to by this iterator. The 'list' will be empty after
this operation.
- const BaseBodyDLIterC<DataC> & DelMoveNext()
-
Deletes the element pointed to by this iterator and moves
iterator to the next element.
- const BaseBodyDLIterC<DataC> & Del()
-
Deletes the element pointed to by this iterator and moves
iterator to the previous element.
- const DataC & Data() const
-
Access to the constant object contained in the list element.
- const DataC & operator*() const
-
Access to the constant object contained in the list element.
- const DataC * operator->() const
-
Access to the constant object contained in the list element.
- const DataC & NextData() const
-
Access to the constant object contained in the list element.
- const DataC & PrevData() const
-
Access to the constant object contained in the list element.
- const DataC & NextCrcData() const
-
Access to the constant object contained in the list element.
- const DataC & PrevCrcData() const
-
Access to the constant object contained in the list element.
- const DataC & NextData(int offset) const
-
Access to the constant object contained in the list element.
- const DataC & PrevData(int offset) const
-
Access to the constant object contained in the list element.
- const DataC & NextCrcData(int offset) const
-
Access to the constant object contained in the list element.
- const DataC & PrevCrcData(int offset) const
-
Access to the constant object contained in the list element.
- const BodyDListC<DataC> & List() const
-
Returns the list whose element is pointed to by this iterator.
------------ Predicates -------------------------------------
- BooleanT operator==(const BaseBodyConstDLIterC<DataC> & it) const
-
Returns TRUE if both iterators point to the same list element.
- BooleanT operator!=(const BaseBodyConstDLIterC<DataC> & it) const
-
Returns TRUE if this iterators points to a different list element
than the iterator 'it'.
- BooleanT IsFirst() const
-
Returns TRUE if the pointed element is the first in a list.
- BooleanT IsLast() const
-
Returns TRUE if the pointed element is the last one in a list.
- BooleanT IsElm() const
-
Returns TRUE if the pointed an proper element (not a head) of a list.
----------- Positioning the iterator -----------------------------
- BaseBodyConstDLIterC<DataC> & First()
-
Sets the iterator to point to the first element of the list.
- BaseBodyConstDLIterC<DataC> & Last()
-
Sets the iterator to point to the last element of the list.
- BaseBodyConstDLIterC<DataC> & Next()
-
Moves the iterator to the successor of the element.
- void operator++(int)
-
Moves the iterator to the successor of the element.
- BaseBodyConstDLIterC<DataC> & Prev()
-
Moves the iterator to the predecessor of the element.
- BaseBodyConstDLIterC<DataC> & NextCrc()
-
Moves the iterator to the successor of the element. If the result
element is not a proper element of the list the iterator is moved
to the first element.
- BaseBodyConstDLIterC<DataC> & PrevCrc()
-
Moves the iterator to the predecessor of the element. If the result
element is not a proper element of the list the iterator is moved
to the last element.
- BaseBodyConstDLIterC<DataC> & Nth(LongIntT n)
-
Sets to the n-th element of the list. The index 'n' can be
negative. The first element of the list has the index 0,
the last element has the index -1. It does not skip the head
of the list.
- BaseBodyConstDLIterC<DataC> & RelNth(LongIntT n)
-
Moves to the n-th element from the current element.
The index 'n' can be positive, zero, or negative.
Particularly, the n = 0 means no move,
n = 1 means the move to the next element,
and n = -1 means the move to the previous element.
- LongIntT Index() const
-
Returns the offset of an element from the first element.
Particularly, it returns 0 if the iterator points to the first
element, it returns -1 if element is the head of the list,
and it returns -2 if the element is not contained in the list.
The function does not check counter overflow.
|
Programmer:Radek Marik, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001
|