uthash er en hash for C-strukturer, slik at alle C struktur som har en unik nøkkel felt som skal hashed.
Strukturer kan slettes, lagt til eller fjernet fra hasj i konstant tid. Nøkkelen feltet kan ha noen datatype.
Eksempel 1. Legge til et element i en hash.
#include "uthash.h"
struct my_struct {
int id; / * -tasten * /
char navn [10];
UT_hash_handle hh; / * Gjør denne strukturen hashable * /
};
struct my_struct * brukere = NULL;
ugyldig add_user (struct my_struct * s) {
HASH_ADD_INT (brukere, id, s); / * Hasj, nøkkelfeltnavn, element * /
}
Eksempel 2. Ser opp et element i en hash.
struct my_struct * find_user (int user_id) {
struct my_struct * s;
HASH_FIND_INT (brukere, s, id, & user_id);
returnere s;
}
Eksempel 1. Slette et element fra en hash.
ugyldig delete_user (struct my_struct * bruker) {
HASH_DEL (brukere, brukergrupper); / * Hasj, til pekeren deletee * /
}
Hva er nytt i denne utgaven:
- En rekke små forbedringer ble gjort til de supplerende verktøy inkludert med uthash, inkludert nye listeoperasjoner (foranstilte, erstatte, og støtte for strukturer som bruker ulike navnekonvensjoner), nye dynamiske streng funksjoner (KMP delstreng søk, format sjekker), forbedringer kompatibilitet, og forbedret dokumentasjon.
Hva er nytt i versjon 1.9.4:
- Denne versjonen inkluderer støtte for MurmurHash v3, ny utlist sammenkjedingsoperatorer makroer, utarray binære søk, ny utstring funksjonalitet, ny dokumentasjon, og feilrettinger.
Hva er nytt i versjon 1.9.3:
- fikse en ifdef for kompatibilitet med Intel-kompilator (takk , degski!)
- fix HASH_ITER makro for å tilfredsstille C ++ støpe regler (takk, Erik Bai!)
Hva er nytt i versjon 1.8:
- Denne versjonen inkluderer en ny live analyse verktøyet (for Linux) for å søke på størrelsen og kvaliteten på hash tabeller i en løpende prosess.
- Det finnes også støtte for Bloom filtre som kan fremskynde målet, re-inkludering av MurmurHash hash-funksjon, og fikser til følges lenket liste spissen.
Hva er nytt i versjon 1.7:
- Dette er en utgivelse vedlikehold. Den Murmurhash støttes ikke lenger fordi det krever -fno-streng-aliasing for å brukes trygt i henhold gcc. Også rettet et problem med utlist slik at det følger strenge aliasing regelen og oppfører seg riktig under O2 og O3.
Hva er nytt i versjon 1.6:
- Versjon 1.6 av uthash omfatter nye hash funksjoner, ny HASH_CLEAR og HASH_SELECT operasjoner, og en hjelpe lenket liste header utlist.h
Hva er nytt i versjon 1.5:
- støtter Denne utgivelsen tråd trygg samtidige lesere og gir ca 13 % raskere HASH_FIND ytelse.
Hva er nytt i versjon 1.4:
- Denne utgivelsen har C ++ kompatibilitet, en API for å skaffe varen telle, større minne effektivitet, og rent pedantisk kompilering.
Kommentarer ikke funnet