cgul v1.8.0

cgul stands for "C General Utility Library." As its name implies, it is a library of standard algorithms and utilities written in C with accompanying wrappers for C++. I started writing cgul after getting burned on a couple of projects because C++ in general and the STL in particular are simply not portable. By contrast, I have successfully used cgul on projects that range from Watcom C++ on QNX 4, to GCC on embedded Linux, to .NET on Microsoft with Visual Studio 2008.

The basic rule is that any general utility that can be written portably is acceptable for inclusion in cgul. Generally, this means anything that operates exclusively on memory (possibly using malloc()) or FILE objects can be included. You can browse the most recent documentation to see what this currently means.

Of special mention is the event_loop class which did not make it into cgul because it multiplexes I/O which is inherently non-portable; however, if you know your code will only need to run on Unix machines, it is an important class that you can use to implement your main event loop.

The name of this library follows the Unix tradition of naming things based on bad puns for animals.




Mailing Lists