uthash on hash C rakenteita, joiden avulla mikä tahansa C rakenne, jossa on ainutlaatuinen avain kenttä voidaan hajauttaa.
Rakenteet voidaan poistaa, lisätä tai poistaa hash jatkuvasti ajan. -kenttään Voi olla mitä tahansa tietotyyppiä.
Esimerkki 1. Kohteen lisääminen hash.
#include "uthash.h"
struct my_struct {
int id; / * -näppäintä * /
char nimi [10];
UT_hash_handle hh; / * Tekee tämän rakenteen hashable * /
};
struct my_struct * käyttäjät = NULL;
void add_user (struct my_struct * s) {
HASH_ADD_INT (käyttäjät, id, s); / * Hash, avain kentän nimi, erä * /
}
Esimerkki 2. Katse ylös kohteen hash.
struct my_struct * find_user (int USER_ID) {
struct my_struct * s;
HASH_FIND_INT (käyttäjät, s, id & USER_ID);
palata s;
}
Esimerkki 1. Kohteen poistaminen hash.
void delete_user (struct my_struct * käyttäjä) {
HASH_DEL (käyttäjät, käyttäjä); / * Hash, osoitin deletee * /
}
Mitä uutta strong> tässä julkaisussa:
- pieniä parannuksia tehtiin täydentäviä apuohjelmat mukana uthash, lukien uusi lista toimintaa (prepend, vaihda, ja tukea rakenteita, jotka käyttävät eri nimeämiskäytäntöjä), uusi dynaaminen merkkijono ominaisuuksia (KMP osamerkkijono haku, formaatti tarkastusta), yhteensopivuus parannuksia ja parannettu asiakirjat.
Mitä uutta strong> versiossa 1.9.4:
- Tämä versio sisältää tuen MurmurHash v3, uusi utlist ketjutus makrot utarray binäärihaku, uusi utstring toiminnallisuutta, uusia asiakirjoja, ja bugikorjauksia.
Mitä uutta strong> versiossa 1.9.3:
- korjata ifdef yhteensopivuuden Intel kääntäjä (kiitos , degski!)
- fix HASH_ITER makro tyydyttää C ++ valu säännöt (kiitos, Erik Bai!)
Mitä uutta strong> versiossa 1.8:
- Tämä versio sisältää uuden live analyysi apuohjelma (Linux) kysellä koko ja laatu hash taulukoita käynnissä prosessi.
- ovat myös tukea Bloom suodattimia, jotka voivat nopeuttaa piti, uudelleen sisällyttäminen MurmurHash hajautusfunktiota ja korjauksia seuralainen linkitetyn listan otsikossa.
Mitä uutta strong> versiossa 1.7:
- Tämä on huolto julkaisu. Murmurhash ei enää tueta, koska se vaatii -fno-tiukka-aliasing voidaan käyttää turvallisesti alla gcc. Myös korjattu ongelma utlist niin se huomauttaa tiukka aliasing sääntö ja käyttäytyy kunnolla alle O2 ja O3.
Mitä uutta strong> versiossa 1.6:
- Version 1.6 uthash sisältää uusia hash toimintoja, uusia HASH_CLEAR ja HASH_SELECT toimintaa, ja apu- linkitetty lista header utlist.h
Mitä uutta strong> versiossa 1.5:
- Tämä versio tukee ketju turvallinen samanaikainen lukijoita ja antaa noin 13 % nopeampi HASH_FIND suorituskyky.
Mitä uutta strong> versiossa 1.4:
- Tämä julkaisu sisältää C ++ yhteensopivuus, API saamiseksi kohde laskea, enemmän muistia tehokkuutta, ja puhdas pikkutarkka kokoelma.
Kommentteja ei löytynyt