-
Notifications
You must be signed in to change notification settings - Fork 31
/
README
77 lines (60 loc) · 2.97 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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.patricia: A dictionary implementation based on a modified
patricia tree algorithm (uses nibbles instead of
bits for branching).
- mowgli.error_backtrace: Provide feedback to users on what caused
the error they are recieving.
- 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.json: A simple, flexible, reentrant JSON parser
- 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.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.eventloop: A portable event loop implementation.
- mowgli.vio: An abstraction layer for I/O.
- mowgli.linebuf: A line-buffering implementation for clients.
- mowgli.thread: Minimal thread abstraction.
More classes will be added with later releases. Please use GitHub's
issue tracker if you have suggestions on what should be implemented.
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 using the GitHub issue tracker on the libmowgli-2
project page: https://github.com/atheme/libmowgli-2/issues