List processing procedures

This file contains the interface for a set of general purpose list manipulation routines. For the implementation of these routines see the file "oldlist.cpp".

INDEX
=======

BASICS:
-------
first             - Macro to return the first list node (not the cell).
rest              - Macro the return the second list cell
pop               - Destroy one list cell
push              - Create one list cell and set the node and next fields

ITERATION:
-----------------
iterate           - Macro to create a for loop to visit each cell.
iterate_list      - Macro to visit each cell using a local variable.
for_each          - Applies a function to each node.

LIST CELL COUNTS:
-----------------
count             - Returns the number of list cells in the list.
second            - Returns the second node.
third             - Returns the third node.
fourth            - Returns the fourth node.
fifth             - Returns the fifth node.
last              - Returns the last list cell.
pair              - Creates a list of two elements.

COPYING:
-----------------
copy_first        - Pushes the first element from list 1 onto list 2.
copy              - Create a copy of a list.
concat            - Creates a new list that is a copy of both input lists.
delete_n          - Creates a new list without the chosen elements.
reverse           - Creates a backwards copy of the input list.
sort              - Use quick sort to construct a new list.
transform         - Creates a new list by transforming each of the nodes.

TRANFORMS:             (Note: These functions all modify the input list.)
----------
join              - Concatenates list 1 and list 2.
delete_d          - Removes the requested elements from the list.
transform_d       - Modifies the list by applying a function to each node.
insert            - Add a new element into this spot in a list. (not NIL)
push_last         - Add a new element onto the end of a list.
reverse_d         - Reverse a list and destroy the old one.

ASSOCIATED LISTS:
-----------------
adelete           - Remove a particular entry from an associated list.
assoc             - Find an entry in an associated list that matches a key.
match             - Return the data element of an a-list entry.

DISPLAY: (*ALAS, NOT IMPLEMENTED IN TESSEARCT-1.02*)
-----------------
print_cell        - Print a hex dump of a list cell.
show              - Displays a string and a list (using lprint).

SETS:
-----
adjoin            - Add a new element to list if it does not exist already.
intersection      - Create a new list that is the set intersection.
set_union         - Create a new list that is the set intersection.
set_difference    - Create a new list that is the set difference.
s_adjoin          - Add an element to a sort list if it is not there.
s_intersection    - Set intersection on a sorted list. Modifies old list.
s_union           - Set intersection on a sorted list. Modifies old list.
search            - Return the pointer to the list cell whose node matches.

COMPARISONS:
-----------------
is_same           - Compares each node to the key.
is_not_same       - Compares each node to the key.
is_key            - Compares first of each node to the key.
is_not_key        - Compares first of each node to the key.

CELL OPERATIONS:
-----------------
new_cell          - Obtain a new list cell from the free list. Allocate.
free_cell         - Return a list cell to the free list.
destroy           - Return all list cells in a list.
destroy_nodes     - Apply a function to each list cell and destroy the list.
set_node          - Assign the node field in a list cell.
set_rest          - Assign the next field in a list cell.

Generated on Wed Feb 28 19:49:30 2007 for Tesseract by  doxygen 1.5.1