libmowgli - A useful collection of routines for programming -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- libmowgli is a free but copyrighted library, check COPYING for details. Contents -------- 1. What is libmowgli? 2. Installation 3. Bug Reports What is libmowgli? ------------------ libmowgli is a class library containing performance and usability oriented extensions to C. It contains: - mowgli_alloc: A safe wrapper around malloc/free. - mowgli_argstack: Safe serialization of valists. - mowgli_assert: Various assertion routines that can be used. - mowgli_bitvector: Bitmasks with an unlimited level of precision. - mowgli_dictionary: A keyword-backed definition hashtable class. - mowgli_error_backtrace: Provide feedback to users on what caused the error they are recieving. - mowgli_exception: Assertions with user feedback. - mowgli_formatter: A simple token formatter which is sometimes useful. - mowgli_global_storage: A simple global storage library. - mowgli_hash: A portable implementation of the FNV-1 hash. - mowgli_heap: An optimistic heap-based memory allocator - mowgli_hook: A simple hooks API you can use for your application, which allows for hooks to provide both application data and user data. - mowgli_ioevent: Portable I/O completion ports for many OSes. - mowgli_list: A high performance linked lists implementation with O(1) scalability for most common operations. - mowgli_logger: An internal class for handling logging of exceptions. - mowgli_memorypool: A class which allows for memory pooling. - mowgli_module: A wrapper around dlopen(3) and dlsym(3). - mowgli_object: A simple class which provides reference counted pointers and polymorphism of structs. - mowgli_object_class: Classing and subclassing for objects. - mowgli_object_metadata: Metadata for objects. - mowgli_object_messaging: Messaging and signalling for objects. - mowgli_queue: A simple class which implements double-ended queues. - mowgli_random: A high performance psuedo-random number generator. - mowgli_signal: A wrapper for sigaction(2). - mowgli_spinlock: Portable spinlocks. More classes will be added with later releases. Please contact nenolod -at- atheme.org if you have suggestions on what should be implemented. More information is available at http://www.atheme.org/projects/mowgli.shtml. Installation ------------ Installation is fairly typical: $ ./configure $ make $ sudo make install (If sudo isn't on your system, su to root. On GNU systems you can even do "su -c 'make install'", which is basically the same thing as using sudo.) Bug Reports ----------- Bugs can be reported on our tracker at http://bugs-meta.atheme.org against the Mowgli product.