qLibc通用的 C/C++ 库
qLibc 项目的目的就是提供一个通用的 C/C++ 库,包括所有种类的容器和常用工具函数。
特性:
-  General Containers. 
  
- List — Doubly Linked List.
 - List Table — KEY/VALUE paired table implemented on linked-list.
 - Hash Table — Hash based KEY/VALUE paired table.
 - Static Hash Table — Static(array/mmapped/shared) memory based KEY/VALUE paired table.
 - Vector — implements a growable array of elements.
 - Queue — FIFO(First In First Out) implementation.
 - Stack — LIFO(Last In First Out) implementation.
 
 - General utilities.
 - Extensions.
 
示例代码:
// create a hash-table with hash range 100. // Hash range does NOT mean maximum number of elements. Refer API doc. qhashtbl_t *tbl = qhashtbl(100); // add an element which key name is "score". int x = 12345; tbl->put(tbl, "score", &x, sizeof(int)); // get the value of the element. int *px = tbl->get(tbl, "score", NULL, true); if(px != NULL) { printf("%d\n", *px); free(px); } // release table tbl->free(tbl);
评论
