dcl - Double Linked Cell List

Module Description

The dcl module implements a double linked list that can store cell wide data.

Module Words

List structure

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

List creation, initialisation and destruction

dcl-init ( dcl -- )
Initialise the dcl list

dcl-(free) ( dnl -- )
Free the nodes from the heap

dcl-create ( "<spaces>name" -- ; -- dcl )
Create a named dcl list in the dictionary

dcl-new ( -- dcl )
Create a new dcl list on the heap

dcl-free ( dcl -- )
Free the list from the heap, including the nodes

Member words

dcl-empty? ( dcl -- flag )
Check for empty list

dcl-length@ ( dcl -- u )
Get the number of nodes in the list

dcl-compare! ( xt dcl -- )
Set the compare execution token for sorting the list

dcl-compare@ ( dcl -- xt )
Get the compare execution token for sorting the list

List words

dcl-clear ( dnl -- )
Delete all nodes from the list

dcl-append ( x dcl -- )
Append the cell data x in the list

dcl-prepend ( x dcl -- )
Prepend the cell data x in the list

Index words

dcl-index? ( n dcl -- flag )
Check if the index n is valid for the list

dcl-set ( x n dcl -- )
Set the cell data x in the nth node in the list

dcl-get ( n dcl -- x )
Get the cell data x from the nth node from the list

dcl-insert ( x n dcl -- )
Insert cell data x at the nth node in the list

dcl-delete ( n dcl -- x )
Delete the nth node from the list, return the cell data x

Special words

dcl-count ( x dcl -- u )
Count the number of occurences of the cell data x in the list

dcl-execute ( i*x xt dcl -- j*x )
Execute xt for every cell data in list

dcl-reverse ( dcl -- )
Reverse or mirror the list

Search words

dcl-find ( x dcl -- n )
Find the first index for the cell data x in the list, -1 for not found

dcl-has? ( x dcl -- flag )
Check if the cell data x is present in the list

dcl-remove ( x dcl -- flag )
Remove the first occurence of the cell data x from the list, return success

Sort words

dcl-insert-sorted ( x dcl -- )
Insert the cell data x sorted in the list

Inspection

dcl-dump ( dcl -- )
Dump the list


generated 10-Apr-2008 by ofcfrth-0.5.0