[an error occurred while processing this directive]


Nodes Library

    The node object is a construct with the main characteristic that it has connections to other nodes.  This models a number of data structures, such as lists, trees and graphs.
    Note that this software is distributed under the GNU Public License.  No warranty is made for it whatsoever.  We have done our best to ensure that this software is high quality and error-free, but cannot guarantee anything real about it due to potential legal culpability. 
    If you find bugs in this software or wish to contribute enhancements to it, please send them to the HOOPLE Administrator.



catalogable class [h, cpp]

A catalogable object is the base class for anything that can be stored in an object_catalog.

list class [h, cpp]

Provides a doubly linked list data type.  An iterator class is supported.

node class [h, cpp]

The node is the base class for most objects here.  It is only concerned with links that it possesses to other nodes.  Those links define the type of structure built out of a collection of nodes.

object_catalog class [h, cpp]

A thread-safe list of objects that can be iterated across.  A special type of locking is provided that allows the main list to be unlocked for other users while the specific catalogable object is held locked.  Deadlock is prevented by never allowing a single object lock to be converted back to a whole list lock.

ordered_list class [h, cpp]

An object derived from the list class which also provides ordering, insertion sort and a find method.

ordered_node class [h]

This is the object held in an ordered_list; it should be derived from by the objects to be stored in the list.

packable_tree template [h, cpp]

A variant of the tree class that can be packed into a flat array of bytes.  The objects held in the tree must themselves be packable.

path class [h, cpp]

A list of nodes that form a pathway from one node to another node.

safe_list class [h, cpp]

A thread-safe version of the list class.  The list can be iterated over by multiple threads without corrupting the list structure.

safe_node class [h]

This is the object type to derive from when storing an object in a safe_list.

symbol_tree class [h, cpp]

This class is a tree of symbol_tables (see Data Structures Library).  It is a parser tool that represents a program's variable scoping.

tree class [h, cpp]

A tree data structure has a root node.  Every other node in the tree can be reached (eventually) by following links from the root node.  The root will have from zero to N children nodes that are linked to it.  Each of its children can have from zero to N children, ad infinitum (or within memory limits).