uthash е хеш за C структури, позволява всеки един C структура, която има уникален ключ поле, за да се сегментира.
Конструкции могат да бъдат изтрити, добавят или премахват от хеша в константно време. Ключовата областта може да има всякакъв вид данни.
Пример 1. Добавяне на елемент към хеш.
#include "uthash.h"
структура my_struct {
INT ID; / * Ключ * /
Чар име [10];
UT_hash_handle чч; / * Прави тази структура hashable * /
};
структура my_struct * Потребителите = NULL;
нищожен add_user (структура my_struct * ите) {
HASH_ADD_INT (потребители, ID, и); / * Хашиш, ключова име на поле, т * /
}
Пример 2. Извършва се търсене на елемент от хеш.
структура my_struct * find_user (INT user_id) {
структура my_struct * S;
HASH_FIND_INT (потребители, S, ID, и user_id);
върнете ите;
}
Пример 1. Изтриване на елемент от хеш.
нищожен delete_user (структура my_struct * потребител) {
HASH_DEL (потребители, ползвателите); / * Хашиш, указател към deletee * /
}
Какво ново в тази версия:
- Редица малки подобрения бяха направени допълнителни помощни програми, включени с uthash, включително нов списък операции (сравнява първите, замени, както и подкрепа за структурите, които използват различни конвенции за именуване), нови динамични характеристики струнни (KMP търсене подниз, формат проверка), подобрения за съвместимост, и по-добра документация.
Какво ново във версия 1.9.4:
- Тази версия включва поддръжка за MurmurHash v3, нова utlist конкатенация макроси, utarray двоично търсене, нова функционалност utstring, нова документация, както и поправки на грешки.
Какво ново във версия 1.9.3:
- фиксира ifdef за съвместимост с Intel компилатор (благодарение , degski!)
- Fix HASH_ITER макро да задоволи C ++ правила за леене (благодарение, Erik Bai!)
Какво ново във версия 1.8:
- Тази версия включва нов живо анализ полезност (за Linux) да задава въпроси към размера и качеството на хеш таблици в процес на работа.
- Включени са и подкрепа за Блум филтри, които могат да ускорят пропуска, повторното включване на функцията за сегментиране MurmurHash, и поправки към спътник свързан списък с глава.
Какво ново във версия 1.7:
- Това е освобождаване на поддръжка. The Murmurhash вече не се поддържа, защото изисква -fno-строг-Aliasing да се използва безопасно по ССЗ. Също коригира проблем с utlist така той отбелязва, правилото за стриктно псевдонимите и се държи правилно под O2 и O3.
Какво ново във версия 1.6:
- Версия 1.6 на uthash включва нови хеш функции, нов HASH_CLEAR и HASH_SELECT операции и спомагателен свързан списък с глава utlist.h
Какво е новото във версия 1.5:
- Тази версия поддържа конци-безопасно едновременни читатели и дава около 13 % по-бързо HASH_FIND изпълнение.
Какво ново във версия 1.4:
- Тази версия разполага C ++ съвместимост, на API за получаване на пратката брои, по-голяма ефективност на паметта, и чиста педантичен компилация.
Коментари не е намерена