Module description

nci -- n-Tree cell Iterator
The nci module implements an iterator on a cell n-Tree nct.

Iterator structure

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

Iterator creation, initialisation and destruction

nci-init ( nct nci -- )
Initialise the iterator with the n-tree nct
nci-create ( nct "<spaces>name" -- ; -- nci )
Create a named iterator in the dictionary on the n-tree nct
nci-new ( nct -- nci )
Create an iterator on the heap on the n-tree nct
nci-free ( nci -- )
Free the iterator from heap

Member words

nci-get ( nci -- x true | false )
Get the cell data x from the current node

Tree iterator words

nci-root? ( nci -- flag )
Check if the current node is the root node
nci-root ( nci -- x true | false )
Move the iterator to the root of the tree, return the cell data x from this node
nci-parent ( nci -- x true | false )
Move the iterator to the parent of the current node, return the cell data x from this node
nci-children ( nci -- n )
Return the number of children of the current node
nci-children? ( nci -- flag )
Check if the current node has children
nci-child ( nci -- x true | false )
Move the iterator to the first child of the current node, return the cell data x of this node
nci-prepend-child ( x nci -- )
Prepend data x as child to the children of the current node, iterator is moved to the new child
nci-append-child ( x nci -- )
Append data x as child to the children of the current node, iterator is moved to the new child

Sibling iterator words

nci-first ( nci -- x true | false )
Move the iterator to the first sibling, return the cell data x from this node
nci-next ( nci -- x true | false )
Move the iterator to the next sibling, return the cell data x from this node
nci-prev ( nci -- x true | false )
Move the iterator to the previous sibling, return the cell data x from this node
nci-last ( nci -- x true | false )
Move the iterator to the last sibling, return the cell data x from this node
nci-first? ( nci -- flag )
Check if the iterator is on the first sibling
nci-last? ( nci -- flag )
Check if the iterator is on the last sibling
nci-insert-before ( x nci -- )
Insert data x as sibling before the current sibling in the tree
nci-insert-after ( x nci -- )
Insert data x as sibling after the current sibling in the tree
nci-remove ( nci -- x true | false )
Remove the current sibling without children from the tree, move the iterator to the next, previous or parent node, return the cell data x of the removed node

Inspection

nci-dump ( nci -- )
Dump the iterator

Generated by fsdocgen 0.1.0