|
| 1 | +# Supporting Components |
| 2 | + |
| 3 | +## Data Container |
| 4 | + |
| 5 | +- array: Dynamic array, also with stack APIs |
| 6 | +- bloom: Bloom filter |
| 7 | +- btree: B+ tree |
| 8 | +- circle: Circular queue |
| 9 | +- fifo: First in first out (single read/write needn't lock) |
| 10 | +- hashmap: Hash map with burst rehash |
| 11 | +- hashtbl: Hash table tools |
| 12 | +- heap: Binary heap tree |
| 13 | +- hlist: Hash linked list |
| 14 | +- ilist: Index linked list |
| 15 | +- list: Double linked list |
| 16 | +- llist: Lock free linked list |
| 17 | +- radix: Radix tree |
| 18 | +- rbtree: Red black tree |
| 19 | +- ringbuf: Ring buffer |
| 20 | +- segtree: Segment tree |
| 21 | +- skiplist: Skip list |
| 22 | +- slist: Single linked list |
| 23 | + |
| 24 | +## Algorithms |
| 25 | + |
| 26 | +- arc4: RC4 stream cipher |
| 27 | +- ascii85: Ascii85 binary-to-text encoding |
| 28 | +- base32: Base32 binary-to-text encoding |
| 29 | +- base64: Base64 binary-to-text encoding |
| 30 | +- bsearch: Array binary search |
| 31 | +- crc: Cyclic redundancy check |
| 32 | +- hash: Golden ratio hash |
| 33 | +- md5: MD5 message-digest algorithm |
| 34 | +- prandom: Pseudo random generator |
| 35 | +- sha1: Secure hash algorithm 1 |
| 36 | +- sha2: Secure hash algorithm 2 (sha224 / sha256) |
| 37 | +- stringhash: String hash functions |
| 38 | + |
| 39 | +## Bit Operation |
| 40 | + |
| 41 | +- bcd: Binary-coded-decimal encoding |
| 42 | +- bitfield: Bit padding functions |
| 43 | +- bitmap: Bitmap operations |
| 44 | +- bitops: Bit operations |
| 45 | +- bitrev: Bitwise reversal |
| 46 | +- bitwalk: Bitmap iterator |
| 47 | +- popcount: Bitwise statistics |
| 48 | + |
| 49 | +## Architecture |
| 50 | + |
| 51 | +- atomic: Atomic operation functions |
| 52 | +- byteorder: Byte order exchange |
| 53 | +- cmpxchg: Atomic compare and exchange |
| 54 | +- overflow: Saturation operations |
| 55 | +- swab: Byte exchange functions |
| 56 | +- unaligned: Non-aligned access functions |
| 57 | + |
| 58 | +## Memory Allocator |
| 59 | + |
| 60 | +- allocator: Allocation compatibility layer |
| 61 | +- allocpool: Mempool optimized for allocation performance |
| 62 | +- memalloc: Memory allocator algorithm |
| 63 | + |
| 64 | +## String Process |
| 65 | + |
| 66 | +- argv: Argv segmentation |
| 67 | +- fsm: Finite state machine |
| 68 | +- levenshtein: Levenshtein edit distance |
| 69 | +- scnprintf: Safe snprintf in buffer |
| 70 | + |
| 71 | +## Mathematics |
| 72 | + |
| 73 | +- align: Alignment functions |
| 74 | +- dword: Double word calculate |
| 75 | +- log2: Log2 calculate |
| 76 | +- math: Mathematical methods |
| 77 | +- minmax: Maximum and minimum value |
| 78 | +- uplower: High and low bytes |
| 79 | +- mpi: Multi precision integer |
| 80 | + |
| 81 | +## Rate limiting |
| 82 | + |
| 83 | +- ratelimit: Fixed Window Counter Rate Limiter |
| 84 | +- tokenbucket: Token Bucket Rate Limiter |
| 85 | + |
| 86 | +## Cache |
| 87 | + |
| 88 | +- lfu: Least-frequently-used cache |
| 89 | +- lru: Least-recently-used cache |
| 90 | + |
| 91 | +## Textsearch |
| 92 | + |
| 93 | +- bm: Boyer–Moore string-search algorithm |
| 94 | +- kmp: Knuth–Morris–Pratt string-search algorithm |
| 95 | +- sunday:Sunday string-search algorithm |
| 96 | + |
| 97 | +## Miscellaneous |
| 98 | + |
| 99 | +- action: Callback function framework |
| 100 | +- callback: Dummy callbacks |
| 101 | +- guards: Clear variable when goes out of scope |
| 102 | +- log: Log framework |
| 103 | +- notifier: Notifier chain |
| 104 | +- once: Do once functions |
0 commit comments