Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 5e713e99 | 2022-12-05 23:57:57 | Revert "[map] Speed up is_real()" This reverts commit f5307c3ba8401fbaf9008705d7f8dfa7d28e944c. Found to slow down the benchmarks in some cases. | ||
| f5307c3b | 2022-12-04 11:54:16 | [map] Speed up is_real() | ||
| dbbb8e80 | 2022-12-04 11:13:39 | Revert "[map] Add hb_map_filter_invalid" This reverts commit 8d7e92111786b21906157127c24b72b1e444e6e7. Surprisingly this slowed NotoNastaliqUrdu benchmark down by a couple percent instead of speeding it up. | ||
| 8d7e9211 | 2022-12-04 11:01:45 | [map] Add hb_map_filter_invalid Use it in one place. | ||
| d2a2670e | 2022-11-28 19:42:27 | [iter] Simplify has() interface implementations | ||
| 86a763c6 | 2022-11-21 20:53:44 | [map] Make keys moveable | ||
| cf20d2ec | 2022-11-21 20:46:01 | [map] Take const key | ||
| 3d1c76f7 | 2022-11-21 19:40:32 | [serializer] Don't hash objects twice | ||
| 3ff8abf2 | 2022-11-18 19:35:49 | Revert "[map] Allow std::move-ing keys into the map" This reverts commit f657ef7e57c889309c2d9d37934368ca255f9d5b. This breaks many compilers with messages like this: hb-subset-plan.hh:226: undefined reference to `OT::head::tableTag' I'm out of my depth re how to fix it. | ||
| a3a218ed | 2022-11-18 19:24:41 | [map] Add a couple more sink interfaces | ||
| f657ef7e | 2022-11-18 19:17:03 | [map] Allow std::move-ing keys into the map | ||
| a1768ad8 | 2022-11-18 19:08:34 | [map] Fix use of != | ||
| a9c6a20b | 2022-11-18 18:29:12 | [map] Support moving value in sink interface | ||
| 3ead9863 | 2022-11-18 16:43:47 | [map] Add size() | ||
| 42db8be1 | 2022-11-18 16:41:50 | [map] Minor remove if condition | ||
| 4ec70698 | 2022-11-18 16:39:30 | [map] Rewrite hash() as dagger Somehow our daggers instead of for loop save size. I cannot pinpoint why, other than maybe not inlining. | ||
| 025a68cb | 2022-11-18 16:33:04 | [map] Optimize copy resizing logic | ||
| f1d71687 | 2022-11-18 16:31:27 | [map] Change bucket_for_hash() to item_for_hash() | ||
| d012f9a9 | 2022-11-18 16:29:06 | [map] Change bucket_for() to item_for() | ||
| 81a57300 | 2022-11-17 16:59:36 | [map] Optimize storage | ||
| ae080bf2 | 2022-11-17 16:34:58 | [map] Initialize key and value explicitly If they are of int time they won't be initialized otherwise. | ||
| ff0bb748 | 2022-11-17 16:17:37 | [map] Call item_t constructor/destructor directly | ||
| 5c887159 | 2022-11-17 16:14:16 | [map] Add item_t.destruct() | ||
| 7f830408 | 2022-11-17 16:10:37 | [map] Simplify (de)construction of item_t | ||
| 99103bd9 | 2022-11-17 15:57:06 | [map] Destruct objects when clearing | ||
| e93c01c3 | 2022-11-17 15:50:00 | [map] Rename item clear() to construct() | ||
| 89637746 | 2022-11-17 15:25:45 | [map] Don't resize map if not necessary | ||
| 7595fa2d | 2022-11-17 15:19:29 | [map] Fix copy-assignment operator Ouch! | ||
| 41f4bdac | 2022-11-17 15:16:00 | [map] Fix resize during copy-construction/assignment | ||
| 7bd10172 | 2022-11-17 15:01:55 | [map] Minor use hb_iter instead of hb_array | ||
| 238fc147 | 2022-11-17 14:58:50 | [map] Simplify iterators | ||
| 410c14bf | 2022-11-17 14:53:00 | [map] Fix equality Ouch! | ||
| dbb7f47b | 2022-11-03 11:55:41 | fix bug in hb_hashmap_t has() interface It was not working when the value type is hb_bytes_t because hb_array_t overloaded operator & | ||
| bcd59b51 | 2022-07-20 15:57:09 | [set/map] Remove init_shallow/fini_shallow() | ||
| e1b5f2f8 | 2022-07-20 15:03:20 | [object] Call destructor in hb_object_destroy() | ||
| 9ea4ab60 | 2022-07-20 14:57:32 | [object] Call constructor | ||
| 61c04384 | 2022-07-20 14:43:58 | [map] Allow geting non-const value pointer out with has() | ||
| 00cfc5c1 | 2022-07-20 14:38:28 | [map] Don't set out value in has() if not found | ||
| 485f0432 | 2022-07-20 14:34:55 | [map] Enable using hashmap with unique_ptr | ||
| 2a4773e4 | 2022-06-21 19:29:52 | add option "--instance", store axes_location in subset_plan and drop all variation tables when all axes are pinned at default | ||
| d8f9d517 | 2022-07-12 13:19:31 | [hashmap] Add keys_ref() and values_ref() | ||
| 5da341ce | 2022-06-27 13:29:22 | [map] Another try at hiding minus1 To fix https://github.com/harfbuzz/harfbuzz/issues/3684 | ||
| c72d3104 | 2022-06-27 13:31:05 | [map] Return const reference in operator[] | ||
| 69d53f3e | 2022-06-27 13:17:10 | [map] Make default_value() inline See if it make fix https://github.com/harfbuzz/harfbuzz/issues/3684 | ||
| 88f00ecb | 2022-06-03 01:30:27 | [map] Fix iter_ref () and test it | ||
| 25f57230 | 2022-06-03 01:11:22 | [map] Return references from new iter_ref() | ||
| 997d9cc4 | 2022-06-02 18:04:12 | [map] Make unique_ptr hashable | ||
| 8bb2a332 | 2022-06-02 15:18:23 | [map] Remove unneeded assignment | ||
| e9407a2b | 2022-06-02 11:29:44 | Use shared_ptr<hb_set_t> in one place See if valgrind is happy... | ||
| b9230c54 | 2022-06-02 11:18:38 | [map] Fix has() | ||
| 97ea10a6 | 2022-06-02 11:14:17 | Remove old nullptr_t hacks Were used for hashmap before. | ||
| 3f78a71c | 2022-06-02 11:11:35 | [map] Finally! Just can usd hb_hashmap_t<obj_t, obj_t> Yay! | ||
| 0ccab339 | 2022-06-02 10:43:36 | [map] Remove invalid-key template arguments since unused | ||
| 3f6a8f69 | 2022-06-02 10:36:07 | [map] Remove invalid-key special-casing Can override invalid-key value now. | ||
| 5328b73f | 2022-06-02 10:32:56 | [map] Reduce map item size again | ||
| 4f58ae60 | 2022-06-02 10:13:55 | [map] Keep is_used, is_tombstone as booleans | ||
| ea2dd54b | 2022-05-26 11:31:28 | [map] Place item hash between key and value, not after them This way if only one of key and value is 64bit (eg. pointer), and other is 32bit, the whole item will fit in 128bit, whereas before it would have been bumped up to 196 if only value was 64bit (a common use-case for us.) | ||
| cbcdf442 | 2022-05-26 11:20:27 | [map] Speed up map's own hash() | ||
| de33ef61 | 2022-05-26 11:07:21 | [map] Add TODO item | ||
| b99efa6c | 2022-05-28 05:16:34 | [map] Minor: use const reference in has() | ||
| 2fdb7616 | 2022-05-19 16:00:43 | [map Further adjust hash function | ||
| 01fc90b6 | 2022-05-19 16:00:06 | [map] Adjust hash function | ||
| 58f848da | 2022-05-19 15:42:54 | [set/map] Adjust hash function return type | ||
| 561e02fe | 2022-05-19 13:38:52 | [map] Make hb_map_t hashable | ||
| ad176990 | 2022-05-19 13:36:12 | [map] Add is_equal() / towards making hb_map_t hashable New API: + hb_map_is_equal() | ||
| f82ee17a | 2022-05-18 12:17:43 | [map] Pre-size map in constructor if we can | ||
| 7fa580bc | 2022-05-12 13:05:32 | [map] Fix map copy/move constructors to actually work Ouch! | ||
| e30511a8 | 2022-01-14 16:20:31 | [map] Correct previous commit, if (...) was reversed. | ||
| ff4e8c7e | 2022-01-14 16:20:31 | [map] Fix bad memory access if hb_map.fini() was called twice. | ||
| 8a69e006 | 2022-01-13 16:17:34 | [meta] Use std::addressof() instead of hb_addressof() | ||
| 47afb3ef | 2022-01-13 15:26:07 | [meta] Replace hb_is_pointer with std::is_pointer | ||
| 956e0a4d | 2022-01-13 15:06:58 | [map] Destruct objects | ||
| 985b63b3 | 2022-01-13 13:33:07 | [map] Allow invalid items to be pointer to static object By derefencing them when necessary. Also, we do not rely on trivially-copyable, so remove that assertion. | ||
| 5a91db11 | 2022-01-13 12:44:48 | [map] Remove constexpr invalid items These were non-workable in the general case, eg std::string. | ||
| 114046dc | 2022-01-13 12:38:26 | [map] Construct objects | ||
| ca4f56bd | 2022-01-13 11:48:34 | [map] Massage some more Towards being able to store arbitrary types. | ||
| 74811c50 | 2022-01-10 14:57:38 | [map] Map == / != use correct types | ||
| ce7f19a2 | 2022-01-10 14:40:27 | Revert "[map] Actually use k/v invalid types for declaration!" This reverts commit 6f559346ac70fd188cb22d41f4b03ec227feee25. Err. My bad. | ||
| 6f559346 | 2022-01-10 14:29:36 | [map] Actually use k/v invalid types for declaration! | ||
| 394f7729 | 2021-11-19 11:49:23 | [map] Allow storing classes in the hashmap Fixes https://github.com/harfbuzz/harfbuzz/issues/3293 The trick was to change the type of the invalid key/value to be non-class. | ||
| b1cd0dce | 2021-11-02 17:56:11 | [map] Add INVALID_KEY and INVALID_VALUE | ||
| 59d8f6c8 | 2021-11-02 10:33:53 | [map] Fix copy assignment operator | ||
| 943921cf | 2021-11-02 00:26:46 | [meta] Use more std type_traits | ||
| 811f80a7 | 2021-11-02 00:14:34 | [algs] Use std::move instead of hb_move() | ||
| 4c6fd7cd | 2021-11-01 23:13:34 | [map] Try moving items when resizing | ||
| a28ea8d7 | 2021-11-01 22:50:54 | Simplify swap() | ||
| 94158316 | 2021-11-01 22:47:26 | [map] Add iterable constructor | ||
| a03b9b14 | 2021-11-01 22:45:11 | [map] Add initializer_list and swap() | ||
| c30f6834 | 2021-11-01 22:29:14 | [map] Add 5 methods | ||
| d3e09bf4 | 2021-08-24 10:31:49 | [set] Make all operators null-safe again Changed my mind. Also for hb_map_clear(). Part of https://github.com/harfbuzz/harfbuzz/pull/3162 | ||
| c08f1b89 | 2021-08-10 12:29:32 | [map] fix incorrect population count in hash map. If the same key was set twice the population was being incorrectly incremented. | ||
| 2337f0d0 | 2021-07-08 10:58:50 | Internally use hb_malloc/.../hb_free instead of malloc/.../free Redefining those stock names as macros was conflicting with gcc 10 headers. Fixes https://github.com/harfbuzz/harfbuzz/issues/3044 | ||
| a8f9f85a | 2021-03-29 18:12:05 | [map] Return success from ->set() | ||
| 2fbd34f8 | 2020-06-28 22:41:09 | m[set/map] Add operator bool() Probably should use in places.. | ||
| 2d39031f | 2020-06-28 20:48:48 | [buffer/set/map] Move immutable check only to C API boundary The immutable objects are a concept only enforced by the C API. So move checks only to that region. This does assume that the rest of the code is careful not getting into these internal methods on immutable objects, which something we do, but have no way of enforcing (currently). . | ||
| 6a45df0a | 2020-07-08 18:17:40 | Fix -Wambiguous-reversed-operator warning Fixes https://github.com/harfbuzz/harfbuzz/issues/2554 | ||
| e541fb47 | 2020-06-21 09:49:48 | minor, replace single hb_apply daggers with foreach | ||
| a7df5a7b | 2020-04-23 10:50:02 | [hashmap] Minor | ||
| 2dda6dd7 | 2020-04-20 14:12:45 | minor, tweak spacing turn 8 spaces to tab, add space before Null/Crap | ||
| be5cdcdf | 2019-10-22 11:55:04 | Store the hash value of a key in item_t in hb_map to reduce the number of hash computations. |