User Documentation
Centre for Vision, Speech & Signal Processing
DEVELOP IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
BaseDLIterC::BaseDLIterC(BaseDListC &)
BaseDLIterC::BaseDLIterC(const BaseDLIterC &)
BaseDLIterC::Copy(void) const
BaseDLIterC::operator=(const BaseDLIterC &)
BaseDLIterC::DLIter(void) const
BaseDLIterC::First(void)
BaseDLIterC::Last(void)
BaseDLIterC::Next(void)
BaseDLIterC::Prev(void)
BaseDLIterC::NextCrc(void)
BaseDLIterC::PrevCrc(void)
BaseDLIterC::Nth(LongIntT)
BaseDLIterC::RelNth(LongIntT)
BaseDLIterC::LinkBef(DChainC *)
BaseDLIterC::LinkAft(DChainC *)
BaseDLIterC::MoveBef(BaseDLIterC &)
BaseDLIterC::MoveAft(BaseDLIterC &)
BaseDLIterC::MoveBef(BaseDListC &)
BaseDLIterC::MoveAft(BaseDListC &)
BaseDLIterC::DelMoveNext(void)
BaseDLIterC::Del(void)
BaseConstDLIterC::Copy(void) const
BaseConstDLIterC::operator=(const BaseConstDLIterC &)
BaseConstDLIterC::DLIter(void) const
BaseConstDLIterC::List(void) const
BaseConstDLIterC::operator==(const BaseConstDLIterC &) const
BaseConstDLIterC::operator!=(const BaseConstDLIterC &) const
BaseConstDLIterC::IsFirst(void) const
BaseConstDLIterC::IsLast(void) const
BaseConstDLIterC::IsElm(void) const
BaseConstDLIterC::operator bool(void) const
BaseConstDLIterC::First(void)
BaseConstDLIterC::Last(void)
BaseConstDLIterC::Next(void)
BaseConstDLIterC::Prev(void)
BaseConstDLIterC::NextCrc(void)
BaseConstDLIterC::PrevCrc(void)
BaseConstDLIterC::Nth(LongIntT)
BaseConstDLIterC::RelNth(LongIntT)
BaseConstDLIterC::Index(void) const
BaseConstDLIterC::operator*(void) const
BaseConstDLIterC::Hash(void) const
BaseConstDLIterC::IsValid(void) const
BaseDLIterC
 
Double-linked circular list iterator
 
include "amma/BDLstIt.hh"
User Level:Default
Library:Mlist
Example:exBuffer.cc
Section:Containers.Lists.DList
In Scope:std

Comments:
The class 'BaseDLIterC' is a representation of iterator on a double-linked 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: Methods:
BaseDLIterC(BaseDListC & 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.

BaseDLIterC(const BaseDLIterC & iter)
Copy constructor.

BaseDLIterC Copy() const
Copy constructor.

const BaseDLIterC & operator=(const BaseDLIterC & it)
Assingment. This iterator will point to the same list element as the iterator 'it'.

const BaseDLIterC & DLIter() const
Self-identification. The function returns this object. ----------- Positioning the iterator -----------------------------

BaseDLIterC & First()
Sets the iterator to point to the first element of the list.

BaseDLIterC & Last()
Sets the iterator to point to the last element of the list.

BaseDLIterC & Next()
Moves the iterator to the successor of the element.

BaseDLIterC & Prev()
Moves the iterator to the predecessor of the element.

BaseDLIterC & 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.

BaseDLIterC & 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.

BaseDLIterC & 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.

BaseDLIterC & 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. ---------- Link / Unlink / Delete ---------------------------------

const BaseDLIterC & LinkBef(DChainC * link)
Links in the element 'link' before the element pointed to by this iterator. This iterator is returned.

const BaseDLIterC & LinkAft(DChainC * link)
Links in the element 'link' after the element pointed to by this iterator. This iterator is returned.

const BaseDLIterC & MoveBef(BaseDLIterC & 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 BaseDLIterC & MoveAft(BaseDLIterC & 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 BaseDLIterC & MoveBef(BaseDListC & 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 BaseDLIterC & MoveAft(BaseDListC & 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 BaseDLIterC & DelMoveNext()
Deletes the element pointed to by this iterator and moves iterator to the next element.

const BaseDLIterC & Del()
Deletes the element pointed to by this iterator and moves iterator to the previous element.

#include "amma/BCDLstIt.hh"
BaseConstDLIterC Copy() const
Copy constructor.

const BaseConstDLIterC & operator=(const BaseConstDLIterC & it)
Assingment. This iterator will point to the same list element as the iterator 'it'.

const BaseConstDLIterC & DLIter() const
Self-identification. The function returns this object.

const BaseDListC & List() const
Returns the list whose element is pointed to by this iterator. ------------ Predicates -------------------------------------

BooleanT operator==(const BaseConstDLIterC & it) const
Returns TRUE if both iterators point to the same list element.

BooleanT operator!=(const BaseConstDLIterC & 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.

operator bool() const
Is iterator at a valid element ?
----------- Positioning the iterator -----------------------------

BaseConstDLIterC & First()
Sets the iterator to point to the first element of the list.

BaseConstDLIterC & Last()
Sets the iterator to point to the last element of the list.

BaseConstDLIterC & Next()
Moves the iterator to the successor of the element.

BaseConstDLIterC & Prev()
Moves the iterator to the predecessor of the element.

BaseConstDLIterC & 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.

BaseConstDLIterC & 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.

BaseConstDLIterC & 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.

BaseConstDLIterC & 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. ----------- Accesses to the list ------------------------------

const DChainC & operator*() const
Access to the pointed element.

UIntT Hash() const
Get a hash value unique to the iterator.
In particular the element it points to. it is NOT tied to the value of that element.

BooleanT IsValid() const
Returns TRUE if the iterator was not constructed by the default constructor.


Programmer:Radek Marik, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001