hmap.h 文档
文件概述
hmap.h 是一个实现哈希表(Hash Map)的头文件。该文件是 libcc 项目的一部分,遵循开源许可证(见文件头部注释)。
主要功能
1. 哈希表结构
定义了 _cc_hmap_t 结构体,用于存储哈希表数据:
- limit - 哈希表容量。
- count - 当前元素数量。
- slots - 槽位数组。
- equals_func - 键比较函数。
- hash_func - 哈希函数。
2. 哈希表操作
提供了以下函数:
- _cc_alloc_hmap - 初始化哈希表。
- _cc_free_hmap - 释放哈希表。
- _cc_hmap_push - 插入键值对。
- _cc_hmap_find - 查找键值对。
- _cc_hmap_pop - 删除键值对。
使用示例
示例 1:使用哈希表
#include <libcc/hmap.h>
#include <stdio.h>
int main() {
_cc_hmap_t map;
if (_cc_alloc_hmap(&map, 16, nullptr, nullptr)) {
_cc_hmap_push(&map, (uintptr_t)"key", (uintptr_t)"value");
uintptr_t value = _cc_hmap_find(&map, (uintptr_t)"key");
printf("Value: %s\n", (char_t*)value);
_cc_free_hmap(&map);
}
return 0;
}
注意事项
- 线程安全:需要外部同步机制保证线程安全。
许可证
该文件遵循开源许可证,详细信息请参考文件头部的注释。