0.2.4 (2010-06-30)
=====
- Close file on saving trie. [Bug report from Xu Jiandong]
- Add trie_store_if_absent() API which fails on adding duplicated key.
This is useful for preventing race condition in multi-thread applications.
[Suggestion from Dan Searle]
- Add trie_fread() and trie_fwrite() APIs for reading/writing trie data in
an open file, allowing trie to be embeded as part of a bigger file.
[Suggestion from NIIBE Yutaka]
0.2.2 (2009-04-29)
=====
- Support building with linkers without symbol versioning supports,
including Mac, Cygwin, MinGW.
- Support other iconv implementations than that's in glibc, for Mac and MinGW.
0.2.1 (2009-04-05)
=====
- Fix errors in documentation
- Symbol versioning to ease upgrade across SONAME
- Minor cleanups
0.2.0 (2009-03-24)
=====
- New APIs for performance: trie_state_copy(), trie_state_is_single()
- Clean-ups
0.1.99.2 (2008-12-15)
========
- More robust handling of alphabet ranges
- Allow co-existence with libdatrie0
0.1.99.1 (2008-12-12)
========
- Breaking ABI with libdatrie0
- More capacity with 32-bit node index
- Adjusted API for non-file trie usage
- All data in one file, no more *.br and *.tl split
- Drop SBTrie wrapper; all features are merged into Trie
- Domain characters are now Unicode
datrie is an implementation of double-array structure for representing trie, as
proposed by Junichi Aoe.
Trie is a kind of digital search tree, an efficient indexing method with O(1)
time complexity for searching. Comparably as efficient as hashing, trie also
provides flexibility on incremental matching and key spelling manipulation.
This makes it ideal for lexical analyzers, as well as spelling dictionaries.