1. 10 5月, 2019 28 次提交
  2. 09 5月, 2019 12 次提交
    • N
      Merge pull request #1680 from n8willis/usermanual-obj · 6bc82579
      n8willis 提交于
      Usermanual: object-model chapter
      6bc82579
    • B
      Remove unnecessary template keyword · 34764454
      Behdad Esfahbod 提交于
      Should fix MSVC.
      34764454
    • B
      Remove unused var · e2a51ff7
      Behdad Esfahbod 提交于
      e2a51ff7
    • B
      [array] Add .copy() · e8b45c19
      Behdad Esfahbod 提交于
      e8b45c19
    • B
      Fix msan issue · afb013f3
      Behdad Esfahbod 提交于
      hb_identity returns rvalue-reference if input is rvalue.  That, can leak
      the reference and cause in bad access to temporaries after they are
      destructed.  This is unfortunately unfixable given the desired
      transparency of hb_identity :(.  Just don't use it with hb_map().
      afb013f3
    • B
      Move hb_invoke() back to hb-algs.hh · 4c94bc63
      Behdad Esfahbod 提交于
      4c94bc63
    • B
      [hdmx] Touch up · b710176c
      Behdad Esfahbod 提交于
      b710176c
    • G
      e8ef0e62
    • G
      [subset] Move hdmx to subset2. · d5decf9b
      Garret Rieger 提交于
      d5decf9b
    • B
      [map] Return rvalues from keys()/values() · 27b20930
      Behdad Esfahbod 提交于
      27b20930
    • B
      [map] Fix bots · 372c5b97
      Behdad Esfahbod 提交于
      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); }
                                               ^
      372c5b97
    • B
      [map] Add .values() iterator · a3048271
      Behdad Esfahbod 提交于
      a3048271