List Objects

The library provides an opaque List object that allows multiple objects to be grouped together. Since List objects are implemented as a type of object, normal object operations may be performed on them, including referencing and locking. Lists can group objects of any type together, but can optionally only allow one type of object. More information about the features provided by these objects can be found in this directory and the BLOC/list.h header file.

Lists can also double up as queues and stacks, by using the list_pop_* functions, since objects are always added to the end of the list. This is the case because lists are unordered. If the collection of objects being stored should be ordered or are searched frequently, Tree objects may be a more suitable alternative.