scl - Single Linked Cell List
Module Description
The scl module implements a single linked list that can store cell wide data.
Module Words
List structure
scl%
( -- n )
Get the required space for a scl variable
List creation, initialisation and destruction
scl-init
( scl -- )
Initialise the scl list
scl-(free)
( scl -- )
Free the nodes from the heap
scl-create
( "<spaces>name" -- ; -- scl )
Create a named scl list in the dictionary
scl-new
( -- scl )
Create a new scl list on the heap
scl-free
( scl -- )
Free the list from the heap
Member words
scl-empty?
( scl -- flag )
Check for an empty list
scl-length@
( scl -- u )
Get the number of nodes in the list
scl-compare!
( xt scl -- )
Set the compare execution token for sorting the list
scl-compare@
( scl -- xt )
Get the compare execution token for sorting the list
List words
scl-clear
( scl -- )
Delete all nodes from the list
scl-append
( x scl -- )
Append the cell data x in the list
scl-prepend
( x scl -- )
Prepend the cell data x in the list
Index words
scl-index?
( n scl -- flag )
Check if the index n is valid for the list
scl-set
( x n scl -- )
Set the cell data x in the nth node in the list
scl-get
( n scl -- x )
Get the cell data x from the nth node in the list
scl-insert
( x n scl -- )
Insert cell data x at the nth node in the list
scl-delete
( n scl -- x )
Delete the nth node from the list, return the cell data from the deleted node
Special words
scl-count
( x scl -- u )
Count the number of occurences of the cell data x in the list
scl-execute
( i*x xt scl -- j*x )
Execute xt for every cell data in list
scl-reverse
( scl -- )
Reverse or mirror the list
Search words
scl-find
( x scl -- n )
Find the first index for cell data x in the list, -1 for not found
scl-has?
( x scl -- flag )
Check if the cell data x is present in the list
scl-remove
( x scl -- flag )
Remove the first occurrence of the cell data x from the list, return success
Sort words
scl-insert-sorted
( x scl -- )
Insert the cell data x sorted in the list
Inspection
scl-dump
( scl -- )
Dump the list
generated 10-Apr-2008 by
ofcfrth-0.5.0