libBLOC
Barry Initial commit b3106d3 (2 years, 11 months ago)diff --git a/README.md b/README.md new file mode 100644 index 0000000..542d6d2 --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +# Barry's Little Objects in C Library + +Barry's Little Objects in C Library (libBLOC) is a library for C programs, +aiming to improve internal resource and memory management. It accomplishes +this by providing structures and functions to instantiate, reference count, and +safely release "objects". Programs that take advantage of this library can +implement their own object types. The library also provides a set of objects +(e.g. List) that may be useful to the program. + +## Objects + +Programs can define a different types of objects by declaring an `ObjectType` +structure. Objects of this type can then be created and operated on using the +standard functions the library provides for all objects. Objects can implement +their own functions too. + +## Lists + +`List` objects are, as the name suggests, a way to organise a collection of +objects. Lists can be created to only hold objects of a certain type, or can +work on all types of object. A list is a linear set of objects, and can be +traversed in order. + +## Trees + +A `Tree` object works similarly to a list, except that it is implemented as a +binary search tree. If the objects being stored must be sorted or frequently +searched then trees will provide a more efficient solution. + +## Iterators + +`Iterator` objects exist to make traversing list and tree objects easy. + +# Miscellaneous + +For more information, please visit the +[project page](https://projects.barryserver.net/libBLOC/). +Documentation can be found in the +[Orion documentation](https://orion.barryserver.net/bloc-library/). +For any further queries, please contact <barry@barryserver.net>.