Add very old versions (for history).
[opsoft_archive.git] / silentbob / silentbob-1.4.1 / gclib / doc / API / hash.txt
blob3200dc445a66687eb528c8a2e1eb646a59309b02
1 /*
2  * (c) Oleg Puchinin 2006
3  * graycardinalster@gmail.com
4  *
5  */
7 UTF8
9                 Хэши (DHash / EHash).
10                 Общие функции.        
12         get / set
13 Получить / установить значение по ключу.
15         del
16 Удалить ключ.
18         foreach
19 Выполнить для каждого элемента.
21         from_file
22 Прочитать хэш из файла (стандартная конфигурационная разметка).
24                 Специфика реализаций
25                 DHash
26 Реализован как Два массива строк в памяти (ключ/значение). 
28         get_keys / get_values 
29 Вернуть массив ключей / значений.
31         get_size 
32 Вернуть количество элементов в хэше (в том числе "пустых").
34                 EHash
35 Наследует все методы класса EList. Реализован в виде списка с элементами
36 ключ => значение. Имеет перегруженный оператор []. Получить значение : hash["ключ"]
38                 HV
39 Пары ключ/значение упаковываются и сортируются. Осуществляется быстрый поиск по отсортированным ключам и
40 простой - по новым. 
42         EArray * sortedElements ()
43 Вернет массив сортированых по ключу элементов. 
45         EArray * dirtyElements ()
46 Вернет массив несортированных элементов.
48         dkey_t * unpackItem (char *, dkey_t * data);
49 Распакует один из элементов в структуру data. Память под структуру должна быть выделена.
51         int autoSort () / int setAutoSort (int N)
52 Автоматически сортировать при N "грязных" элементов.
54         bool autoCheck () / bool setAutoCheck (bool B)
55 Проверять наличие ключа при установке. Если не включено, то поумолчанию повторная установка ключа
56 приводит к созданию новой записи (элемента). Использовать либо там, где нет повторяющихся ключей,
57 либо совместно с autoSort. Параметр для setAutoSort рекомендуется задавать как 10% от N, где N -
58 текущее количество элементов.