Maxime Coste
|
ebecd60eb8
|
Rework hashing, use a more extensible framework similar to n3876 proposal
std::hash specialization is a pain to work with, stop using that, and
just specialize a 'size_t hash_value(const T&)' free function.
|
2014-12-16 18:57:19 +00:00 |
|
Maxime Coste
|
fa886ffaac
|
Refactor word_db, use an unordered map
|
2014-10-28 19:23:02 +00:00 |
|
Maxime Coste
|
d55d041c6a
|
Add support for interned strings
Use interned strings for Modification contents and word database.
Interned strings are guaranteed not to move in memory and are
reference counted.
|
2014-10-01 00:20:12 +01:00 |
|
Maxime Coste
|
5fc063c520
|
Insert word completion: Use subsequence matching if prefix failed
|
2014-07-30 19:58:34 +01:00 |
|
Maxime Coste
|
2f1388df7b
|
replace LineChangeWatcher with a free function compute_line_modifications
|
2014-05-14 21:19:19 +01:00 |
|
Maxime Coste
|
389308dfd8
|
Preserve current word in word completion if found elsewhere
If occurence count in the buffer if greater that one, do not
remove it from the matches.
|
2014-04-22 19:32:12 +01:00 |
|
Maxime Coste
|
ad818853a2
|
WordDB now uses a LineChangeWatcher based implementation
|
2014-01-27 19:51:58 +00:00 |
|
Maxime Coste
|
f6eaaf1e78
|
WordDB: use an ordered map for storing words
This way we can use lower_bound to find the first prefix match
in logarithm time and we know all other prefix matches will
follow.
|
2014-01-19 19:43:19 +00:00 |
|
Maxime Coste
|
997aadd33f
|
Word completion use a WordDB stored as a buffer value.
|
2014-01-16 22:07:42 +00:00 |
|