Barry's Little Objects in C (BLOC) Library

The BLOC library is a library service provided to programs aimed at improving their internal resource and memory management. The library functions as a layer on top of the program's heap, and provides some extra functionality that enabled easier internal resource management. The main job of the library is tracking the references between different objects to ensure that no object is freed before being released fully. It also handles garbage collection, object instantiation, and provides a set of functions for managing collections of objects called List and Tree objects. All source code can be found in the libBLOC git repository.

The library allows programs to define their own object types. All the routines, structures and macros supporting this functionality are described in the Object section. The library also implements a few objects of its own, which are of common use, the details of which can be found in the respective directories and header files.