src/hb-map.hh


Log

Author Commit Date CI Message
Behdad Esfahbod e0315b4a 2019-05-10T19:48:02 [meta] is_integer -> is_integral
Garret Rieger 971020ec 2019-05-08T16:31:52 Add sink support for hb_hashmap_t and a reverse call to hb_pair_t.
Behdad Esfahbod c9b287a8 2019-05-09T12:43:57 Add hb_lidentity(), and rename hb_rvalue() to hb_ridentity()
Behdad Esfahbod 27b20930 2019-05-08T15:32:57 [map] Return rvalues from keys()/values()
Behdad Esfahbod 372c5b97 2019-05-08T15:28:39 [map] Fix bots Older compilers don't like calling iter() from return-type decltype() ../src/hb-map.hh:226:12: error: cannot call member function 'decltype ((((+ hb_array(((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::items, (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask ? (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask + 1) : 0))) | hb_filter((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: is_real))) | hb_map((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: get_pair)))) hb_hashmap_t<K, V, kINVALID, vINVALID>::iter() const [with K = const hb_serialize_context_t::object_t*; V = unsigned int; K kINVALID = 0u; V vINVALID = 0u; decltype ((((+ hb_array(((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::items, (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask ? (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask + 1) : 0))) | hb_filter((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: is_real))) | hb_map((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: get_pair)))) = hb_map_iter_t<hb_filter_iter_t<hb_array_t<hb_hashmap_t<const hb_serialize_context_t::object_t*, unsigned int, 0u, 0u>::item_t>, bool (hb_hashmap_t<const hb_serialize_context_t::object_t*, unsigned int, 0u, 0u>::item_t::*)() const, const<anonymous struct>&, 0u>, hb_pair_t<const hb_serialize_context_t::object_t*, unsigned int> (hb_hashmap_t<const hb_serialize_context_t::object_t*, unsigned int, 0u, 0u>::item_t::*)() const, 0u>]' without object + iter() ^ ../src/hb-meta.hh:58:41: note: in definition of macro 'HB_AUTO_RETURN' #define HB_AUTO_RETURN(E) -> decltype ((E)) { return (E); } ^
Behdad Esfahbod a3048271 2019-05-08T15:08:10 [map] Add .values() iterator
Behdad Esfahbod 3c69505b 2019-05-08T15:05:10 [map] Fix iter
Behdad Esfahbod f5705d76 2019-05-08T14:46:55 Whitespace
rsheeter b827181b 2019-05-08T13:51:11 [map] tweak test-iter.cc
rsheeter 492af0f1 2019-05-08T12:47:18 [map] add keys()
rsheeter ba605128 2019-05-08T12:09:10 [map] add a test for iteration
rsheeter 183b8094 2019-05-08T11:40:31 [map] add iteration
Behdad Esfahbod bad16066 2019-05-08T12:11:52 [map] Make .has() optionally return value
Behdad Esfahbod 240f57e5 2019-05-06T23:17:39 Rename hb_deref_pointer() to hb_deref()
Behdad Esfahbod 22da1231 2019-04-24T10:53:16 [map] Fix TODO
Behdad Esfahbod 0268db11 2019-04-24T10:43:40 [map] Use hb_invoke() with pointer-to-method
Behdad Esfahbod 824fd342 2019-04-11T11:16:01 Rename a few macros
Behdad Esfahbod 31c1a838 2019-04-02T20:17:27 [map] Protect more against pointer deref
Behdad Esfahbod 5bffa9e3 2019-04-02T20:13:16 More
Behdad Esfahbod 5b66b033 2019-04-02T19:27:02 [serialize] Fix hb_hashmap_t<> for pointers and use in packed_map
Behdad Esfahbod 10f06223 2019-03-30T18:44:01 [map] Shuffle fini code
Behdad Esfahbod a4329019 2019-03-30T17:51:26 [serialize] Add packed_map
Behdad Esfahbod 38d57b9a 2019-03-30T16:38:06 [map] Add another TODO item
Behdad Esfahbod 7fd940f8 2019-03-30T16:29:19 [map] Add TODO
Behdad Esfahbod ef33b5d1 2019-03-30T14:39:21 [map] Deref pointers before equality check
Behdad Esfahbod c98f51da 2019-03-30T14:30:22 [map] Templatize hb_map_t Template name is hb_hashmap_t<K,V>.
Behdad Esfahbod bdd5a9c4 2019-03-28T21:58:07 Add hb_hash() I don't like the hb_remove_reference() hack, but necessary.
Behdad Esfahbod a030ce4f 2019-03-28T21:26:50 Merge branch 'master' into iter
Michiharu Ariza 93739242 2019-02-20T13:23:12 minor edit
Michiharu Ariza eebc21c8 2019-02-20T12:43:18 fix crash in hb_map_t::clear() in case called immediately after init()
Behdad Esfahbod d438e610 2019-01-28T16:34:04 [iter] Fix operator() impls
Behdad Esfahbod 090fe56d 2019-01-25T15:34:03 Merge branch 'master' into iter
Behdad Esfahbod c1cbbb94 2019-01-20T19:47:52 Use static constexpr for large class constants
Behdad Esfahbod a7de144d 2019-01-09T08:39:25 Implement uniform map interface Coverage, ClassDef, hb_set_t, and hb_map_t implement.
Behdad Esfahbod bd1318b8 2019-01-20T19:47:52 Use static constexpr for large class constants
Behdad Esfahbod 043b610f 2019-01-19T09:20:46 Fix sign compare warnings ../../third_party/harfbuzz-ng/src/src/hb-map.hh(56,45): warning: comparison of integers of different signs: 'const hb_codepoint_t' (aka 'const unsigned int') and 'hb_map_t::(anonymous enum at ../../third_party/harfbuzz-ng/src/src/hb-map.hh:169:3)' [-Wsign-compare] bool is_unused () const { return key == INVALID; }
Behdad Esfahbod 9aebfb41 2018-12-18T13:22:17 [serialize] Streamline error propagation
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Ebrahim Byagowi b2ebaa9a 2018-12-16T22:38:10 Remove redundant 'inline' from methods (#1483)
Ebrahim Byagowi 7ee5c523 2018-12-12T15:14:37 minor style fix, use void in methods on no argument
Behdad Esfahbod 9e4138c8 2018-11-29T15:01:10 Convert misc "static const" constants to enum
Behdad Esfahbod b1862743 2018-10-29T23:21:14 [set/map] Fix uninitialized memory I keep forgetting that primitive types are NOT initialized during construction. :|
Behdad Esfahbod 67a22f37 2018-10-29T17:37:41 [set/map/vector] Make constructable, but not copy or assignable Disable copy/assign on them, as they shouldn't. Make constructor / destructor call init_shallow/fini_shallow, and make those idempotent. So, these three can be constructed on stack now and no init/fini call is needed. As such, hb_auto_t<> is not needed anymore. I'll remove that separately.
Ebrahim Byagowi 114f66dd 2018-10-19T12:05:26 Fix hb_map_is_empty logic This needs reviewing
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.