uthash là một hash cho các cấu trúc C, cho phép bất kỳ cấu trúc C có một lĩnh vực trọng điểm độc đáo được băm.
Cấu trúc có thể được xóa bỏ, thêm hoặc loại bỏ khỏi các hash trong thời gian liên tục. Các lĩnh vực quan trọng có thể có bất kỳ loại dữ liệu.
Ví dụ 1. Thêm một mục vào một hash.
#include "uthash.h"
struct {my_struct
int id; / * Chính * /
char name [10];
Hh UT_hash_handle; / * Làm hashable cấu trúc này * /
};
struct my_struct * người dùng = NULL;
khoảng trống add_user (struct my_struct * s) {
HASH_ADD_INT (người dùng, id, s); / * Băm, tên lĩnh vực trọng điểm, mục * /
}
Ví dụ 2. Nhìn lên một mục trong một hash.
struct my_struct * find_user (int user_id) {
struct my_struct * s;
HASH_FIND_INT (người dùng, s, id, & user_id);
trở s;
}
Ví dụ 1. Xóa một mục từ một hash.
khoảng trống delete_user (struct my_struct * người dùng) {
HASH_DEL (người sử dụng, người sử dụng); / * Hash, trỏ đến deletee * /
}
là gì mới trong phiên bản này:
- Một số cải tiến nhỏ đã được thực hiện để các tiện ích bổ sung bao gồm uthash, bao gồm cả các hoạt động mới danh sách (thêm vào trước, thay thế, và hỗ trợ cho các kết cấu sử dụng quy ước đặt tên khác nhau), tính năng động chuỗi mới (KMP tìm kiếm chuỗi con, định dạng kiểm tra), cải thiện khả năng tương thích, và cải thiện tài liệu hướng dẫn.
là gì mới trong phiên bản 1.9.4:
- Phiên bản này bao gồm hỗ trợ cho MurmurHash v3, utlist mới macro nối, tìm kiếm utarray nhị phân, chức năng utstring mới, tài liệu mới, và sửa lỗi.
là gì mới trong phiên bản 1.9.3:
- sửa chữa một ifdef cho khả năng tương thích với các trình biên dịch Intel (thanks , degski!)
- fix HASH_ITER vĩ mô để đáp ứng C ++ tắc đúc (cảm ơn, Erik Bai!)
là gì mới trong phiên bản 1.8:
- Phiên bản này bao gồm một tiện ích phân tích sống mới (đối với Linux) để truy vấn các kích thước và chất lượng của các bảng băm trong một quá trình chạy.
- Cũng bao gồm hỗ trợ cho các bộ lọc Bloom có thể tăng tốc lên nhớ, tái hòa nhập của hàm băm MurmurHash, và sửa lỗi cho các bạn đồng danh sách liên kết tiêu đề.
là gì mới trong phiên bản 1.7:
- Đây là một hành bảo trì. Các Murmurhash không còn được hỗ trợ bởi vì nó đòi hỏi nghiêm ngặt -fno-răng cưa được sử dụng một cách an toàn dưới gcc. Ngoài ra sửa chữa một vấn đề với utlist nên quan sát các quy tắc nghiêm ngặt răng cưa và hoạt động đúng theo O2 và O3.
là gì mới trong phiên bản 1.6:
- Phiên bản 1.6 của uthash bao gồm các chức năng băm mới, HASH_CLEAR mới hoạt động HASH_SELECT, và một danh sách liên kết phụ trợ đầu utlist.h
được gì mới trong phiên bản 1.5:
- Phiên bản này hỗ trợ thread-safe độc giả và đồng thời cung cấp cho khoảng 13 % hiệu suất HASH_FIND nhanh hơn.
là gì mới trong phiên bản 1.4:
- Phiên bản này có tính năng C ++ tương thích, một API cho việc thu thập các mục đếm, hiệu quả bộ nhớ lớn hơn, và sạch sẽ biên soạn mô phạm.
Bình luận không