-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
312 lines (211 loc) · 9.86 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
2012-05-10 Kaz Kylheku <kaz@kylheku.com>
* Makefile.gcc: Updated copyright and e-mail address.
* Makefile.vc: Likewise.
* blast.pl: Likewise.
* dict.c: Likewise.
* dict.h: Likewise.
* docs.ltx: Likewise.
* except.c: Likewise.
* except.h: Likewise.
* hash.c: Likewise.
* hash.h: Likewise.
* list.c: Likewise.
* list.h: Likewise.
* sfx.c: Likewise.
* sfx.h: Likewise.
2012-05-10 Kaz Kylheku <kaz@kylheku.com>
* docs.ltx: Added missing documentation for dict_merge and
dict_similar. Documented all of the C++ additions of the previous
commit.
2012-05-09 Kaz Kylheku <kaz@kylheku.com>
Exposing the remaining dict API via the C++ interface.
* dict.h (kazlib::load_suport, kazlib::no_load_support): New feature
expression classes.
(kazlib::dict_dfl_feat): New typedef member, load_t, establishing that
the default feature is not to support loading.
(kazlib::trait_combinator<load_support, REST>): New trait combinator
for adding load support.
(kazlib::trait_combinator<no_load_support, REST>): New trait combinator
for adding load support.
(kazlib::dict::load_ctx): New class member. Type is empty class
if the dict has no load support, and so takes no space.
In this case, use of the load_begin/load_next/load_end functions
will not compile.
(kazlib::dict::strict_upper_bound, kazlib::dict::strict_lower_bound,
kazlib::dict::isempty, kazlib::dict::isfull, kazlib::dict::contains):
New functions.
(kazlib::dict::process_func): New static member function.
(kazlib::dict::process): New template member function.
(kazlib::dict::load_begin, kazlib::dict::load_next,
kazlib::dict::load_end, kazlib::dict::merge): New member functions.
* tests/dict-1.cc (print): New function, friend to person class.
(main): by_id dictionary declared with load_support.
Dict functions load_begin, load_next and load_end are used
to load the items in order. The process member function is
used to print the contents of by_first_name.
2012-05-08 Kaz Kylheku <kaz@kylheku.com>
* Makefile.gcc: Use --whole-archive to link the static library contents
properly into the shared library.
2012-05-08 Kaz Kylheku <kaz@kylheku.com>
* Makefile.gcc: $($(DLIB)) Fix -soname.
(install): Use macros instead of hard-coded library names.
2012-05-08 Kaz Kylheku <kaz@kylheku.com>
* docs.ltx: Bump release and date.
2012-05-08 Kaz Kylheku <kaz@kylheku.com>
* Makefile.gcc: integrating patches from Debian maintainer
Bálint Réczey, in slightly different ways. A static and
shared library is now built, and there is an install target.
2012-05-08 Kaz Kylheku <kaz@kylheku.com>
* tests/dict-1.cc: Declare objects in an array. This exercises the
copy constructor of dnode, and eliminates duplicate code.
2012-05-08 Kaz Kylheku <kaz@kylheku.com>
* Makefile.gcc: Revamped to take advantage of various GNU Make
tricks. Builds new C++ test case, which is taken from the LaTeX doc.
* tests/dict-1.cc: New file.
2012-05-08 Kaz Kylheku <kaz@kylheku.com>
* Makefile.gcc (CFLAGS): Dropping -pedantic, adding -W.
* dict.c (free_nodes): Unused static function removed.
(dnode_alloc, dnode_free, new_node, del_node): Added casts
of unused arguments to void to suppress unused variable warning.
* docs.ltx: Revised out of date section about what C++ identifiers are
exposed by dict.h. Fixed typo.
* except.c (bottom_level): Fixed waring about return value from
fgets being ignored.
(main): Switched to no-arguments main since argc and argv were
not used.
* hash.c (hnode_alloc, hnode_free, new_node): Added casts
of unused arguments to void to suppress unused variable warning.
* sfx.c (CONTEXT_T_INIT): New macro.
(chk_cast): Use CONTEXT_T_INIT macro to initialize variables
of type context_t.
2009-11-12 Kaz Kylheku <kaz@gmail.com>
Terminology change. The alloc traits should use item
and not node terminology, since destruction is applied
to items, not dnodes.
* dict.h (kazlib::static_nodes): Renamed to static_items.
(kazlib::dynamic_nodes): Renamed to dynamic_items.
(kazlib::placement_nodes): Renamed to placement_items.
(kazlib::dict_dfl_feat, kazlib::alloc_feature): Declarations updated.
(kazlib::trait_combinator<>): Partial specializations updated.
* docs.ltx: Updated.
2009-11-12 Kaz Kylheku <kaz@kylheku.com>
* dict.c (dict_clear): Reverts back to internal linkage.
* dict.h (dict_clear): Declaration removed.
(kazlib::dict_base, kazlib::dict_bdbk, kazlib::dict_bdmk,
kazlib::dict_mdbk, kazlib::dict_mkmk): Template classes removed.
* docs.ltx: Revamped documentation of C++ utilities for dict,
from the perspective of the trait combination paradigm.
The base class is now just dict.
2009-11-12 Kaz Kylheku <kaz@kylheku.com>
Added a new function safe_traverse, which performs an iterative
bottom-up traversal rather than a recursive one.
dict_free_nodes retargetted to use this function.
dict_clear exposed as external function.
* dict.c (safe_traverse): New function.
(dict_free_nodes): Use safe_traverse.
(dict_init_alloc): New function for one step initialization
with custom allocator functions.
(dict_clear): Changed from internal to external linkage.
* dict.h (dict_init_alloc, dict_clear): Declared.
2009-11-12 Kaz Kylheku <kaz@kylheku.com>
* docs.ltx: Condense index. Do not list every function under the
functions category in the index; they are all in the main index.
2009-11-10 Kaz Kylheku <kaz@kylheku.com>
The dnode class must support assignment and copy construction.
* dict.h (kazlib::dnode): Copy constructor and assignment operator
added.
* docs.ltx: Documented these functions and added index entries.
2009-11-10 Kaz Kylheku <kaz@kylheku.com>
* docs.ltx: Added remarks to first C++ example that the comparison
function is not strictly needed. Added new file sorting example for
dict_bdbk.
2009-11-09 Kaz Kylheku <kaz@kylheku.com>
* docs.ltx: Fix issues in C++ example. The allow dupes was not turned
on, so the example would have blown up on duplicate first or last names.
2009-11-09 Kaz Kylheku <kaz@kylheku.com>
New C++ utilities in dict.h.
Documented in docs.ltx.
Tabs eliminated from docs.ltx.
* dict.h: If __cplusplus is defined, include the <functional> header.
(kazlib::dnode, kazlib::dict_base, kazlib::dnode_is_member,
kazlib::key_is_member, kazlib::compare_with_function,
kazlib::dnode_is_base, kazlib::key_is_base, kazlib::dict,
kazlib::dict_bdbk, kazlib::dict_bdmk, kazlib::dict_mdbk,
kazlib::dict_mkmk): New template classes.
(kazlib::default_compare): New template function.
* docs.ltx: Updated to clarify that Kazlib is also a C++ library.
New index entries. Documented new C++ utilities.
2009-11-08 Kaz Kylheku <kaz@kylheku.com>
Use dict_init in dict_create instead of repeated code.
All code compiles as C++ now.
* dict.c (dict_create): Use dict_init. Cast added to
return value of malloc.
(dict_init_like): Parameter template renamed to orig. This is
because template is a C++ keyword.
(dict_delete): Parameter delete renamed to target, because
delete is a C++ keyword.
(dnode_alloc): Cast added to return value of malloc.
(dict_load_end): Some casts added where enum members are computed
values. C++ type safety of enumerations doesn't allow the
direct assignment.
(comparef): Added casts from const void * to const char *.
(dupstring): malloc cast.
(main): Casts on dnode_get.
* except.c (except_throwf): Cast on except_alloc.
(top_level): Cast added when passing string literal to
except_cleanup_push because const char * doesn't convert
to void *.
(main): Local variable catch renamed to match to avoid
clash with C++ keyword.
* hash.c (grow_table, shrink_table): Cast on return value of
realloc.
(hash_create, hnode_alloc, hnode_create): Caston return value of malloc.
(hash_fun_default, hash_comp_default): Casts from void * to
character pointers.
(tokenize): Added casts from const void * to const char *.
(dupstring): malloc cast.
(main): Casts on hnode_get.
* list.c (list_create): Cast on malloc. Avoid C++ keyword new.
(lnode_pool_create): Cast on malloc.
(list_ins_after, list_ins_before, lnode_borrow): Avoid C++ keyword new.
(tokenize): Added casts from const void * to const char *.
(dupstring): malloc cast.
(main): Casts on lnode_get.
* sfx.c (speculate, sfx_determine): Variable catch renamed to match.
(lookup_cache): Cast on hnode_get return value.
(cache_result): Cast on hnode_get and malloc.
2009-11-08 Kaz Kylheku <kaz@kylheku.com>
* Makefile.gcc: Add missing .o files to clean target rule.
2009-11-08 Kaz Kylheku <kaz@kylheku.com>
* except.c, hash.c, list.c, sfx.c: Tabs converted to spaces.
2009-11-08 Kaz Kylheku <kaz@kylheku.com>
* CHANGES, Makefile.gcc, Makefile.vc, blast.pl, dict.c, docs.ltx
hash.h, except.c, except.h, hash.c, hash.h, list.c, list.h, sfx.c:
Trailing whitespace removed. Some reformatting of text.
2009-11-08 Kaz Kylheku <kaz@kylheku.com>
New functions: dict_strict_lower_bound, dict_strict_upper_bound.
Clearer, more concise documentation for dict_lower_bound and
dict_upper_bound.
* dict.c (dict_strict_lower_bound, disc_strict_upper_bound):
New functions.
(main): < and > commands added for exercising new functions.
* dict.h (dict_strict_lower_bound, disc_strict_upper_bound):
Declared.
* docs.ltx: Documentation updated.
2009-11-06 Kaz Kylheku <kaz@kylheku.com>
Switching to Modified BSD license.
Getting rid of RCS keyword cruft.
Obsolete MUST_READ file removed.
* CHANGES: RCS keywords removed.
* Makefile.gcc: Copyright header added.
* Makefile.vc: Likewise.
* README: RCS keywords removed, and documentation thereof also.
* blast.pl: Copyright header added.
* dict.c, except.c, hash.c, list.c, sfx.c: Copyright header replaced.
rcsid removed.
* dict.h, excepth.h, hash.h, list.h, sfx.h: Copyright header replaced.
* docs.ltx: Copyright header added. rcsid removed.
* MUST_READ: File removed.
2009-11-06 Kaz Kylheku <kaz@kylheku.com>
Original Kazlib 1.20 distribution from July 2001 now lives
in a new repository.