## dci - Double Linked Cell List Iterator

### Module Description

The dci module implements an iterator on the double linked cell list [dcl].

### Module Words

#### Iterator structure

dci% ( -- n )
  Get the required space for a dci variable

#### Iterator creation, initialisation and destruction

dci-init ( dcl dci -- )
  Initialise the iterator with a dcl list
dci-create ( dcl "<spaces>name" -- ; -- dci )
  Create a named iterator in the dictionary with a dcl list
dci-new ( dcl -- dci )
  Create an iterator on the heap with a dcl list
dci-free ( dci -- )
  Free the iterator from the heap

#### Member words

dci-get ( dci -- x true | false )
  Get the cell data x from the current record
dci-set ( x dci -- )
  Set the cell data x for the current record

#### Iterator words

dci-first ( dci -- x true | false )
  Move the iterator to the first record, return the cell data x
dci-next ( dci -- x true | false )
  Move the iterator to the next record, return the cell data x
dci-prev ( dci -- x true | false )
  Move the iterator to the previous record, return the cell data x
dci-last ( dci -- x true | false )
  Move the iterator to the last record, return the cell data x
dci-move ( x dci -- false )
  Move the iterator to the next record with the cell data x
dci-first? ( dci -- flag )
  Check if the iterator is on the first record
dci-last? ( dci -- flag )
  Check if the iterator is on the last record
dci-insert-after ( x dci -- )
  Insert the cell data x after the current record

#### Inspection

dci-dump ( dci -- )
  Dump the iterator

generated 03-Jun-2010 by ofcfrth-0.10.0