src/hb-set.hh


Log

Author Commit Date CI Message
Behdad Esfahbod 08c3648c 2019-05-17T16:21:34 Oops, fix include
Behdad Esfahbod 24958b88 2019-05-17T16:20:36 [set] Use StructAtOffsetUnaligned
Behdad Esfahbod f7a45851 2019-05-15T16:49:35 Add hb_bitwise_* ops
Behdad Esfahbod 889dc1eb 2019-05-14T22:28:07 [iter] Remove sort categorization See comments.
Behdad Esfahbod 51376284 2019-05-13T15:36:14 [iter] Track strictly-sorted iterators This make output of hb_enumerate() sorted regardless of input iterator.
Behdad Esfahbod 4c2fd05c 2019-05-06T19:57:15 [iter] Implement range-based for loops Part of https://github.com/harfbuzz/harfbuzz/issues/1648
Behdad Esfahbod 824fd342 2019-04-11T11:16:01 Rename a few macros
Behdad Esfahbod 5bffa9e3 2019-04-02T20:13:16 More
Behdad Esfahbod 849a0f17 2019-01-29T17:10:19 [iter] Add hb_iter_with_fallback_t instead
Behdad Esfahbod 4d40ed9d 2019-01-29T13:55:23 [iter] Add hb_iter_with_mixin_t<>
Behdad Esfahbod 84a25d79 2019-01-29T13:39:19 [iter] Rename
Behdad Esfahbod a30e1346 2019-01-28T16:39:01 [iter] Add operator << to set / vector
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 70a52d6b 2019-01-22T12:15:23 Convert all other enum class consts to static constexpr Fixes https://github.com/harfbuzz/harfbuzz/issues/1553
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 636786ec 2019-01-08T23:48:35 [iter] Rename __item_type__ to __item_t__
Behdad Esfahbod 815cde9f 2019-01-07T18:33:04 [iter] Use is_sorted_iterator
Behdad Esfahbod b5d6fe1a 2019-01-02T16:20:40 [iter] Remove hb_sorted_iter_t Not enforcing it using type hierarchy.
Behdad Esfahbod 5ec11ce1 2018-12-27T17:17:28 [iter] Clarify readonly vs lvalue iterators lvalue iterators must declare __item_type__ as a reference.
Behdad Esfahbod 6dc4a1c9 2018-12-26T19:49:13 [iter] Remove const_iter
Behdad Esfahbod d3976b7e 2018-12-26T18:54:27 [iter] Make them work, mostly
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 fa333e34 2018-12-27T17:56:22 [vector] Remove static_array Was good idea, but with C++ types with constructor/destructor, was getting in the way as compiler was destructing those items where it was not desired. Since C++ does not allow zero-sized arrays, just remove it...
Behdad Esfahbod e4355b1c 2018-12-22T16:11:22 [set] Add iter_t as alias to const_iter_t
Behdad Esfahbod 33f8de61 2018-12-22T15:10:18 [set] Change to const_iter
Behdad Esfahbod f88fed5c 2018-12-22T11:11:10 [set] Cache length in iterator
Behdad Esfahbod 89d04129 2018-12-21T20:07:52 [set] Actually derive iterator from hb_sorted_iter_t<>
Behdad Esfahbod fc35919d 2018-12-21T20:06:17 [set] Implement unified iterator
Behdad Esfahbod 4911e67d 2018-12-21T20:00:52 [set] Mark some internals protected
Behdad Esfahbod 474a1205 2018-12-21T18:46:51 [array/vector] Rename len to length
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)
Behdad Esfahbod 0f32c95e 2018-11-30T11:31:39 Fix a few more sizeof(vector[0]) errors with weird compilers
Behdad Esfahbod 861bc753 2018-11-29T14:34:44 [vector] Make pointer cast explicit Too bad this doesn't help MSVC 2008 build, as explicit operators are C++11.
Behdad Esfahbod 72955e68 2018-11-29T14:28:44 Hand-hold older compilers
Behdad Esfahbod d77a098b 2018-11-24T10:06:13 [arrays] Improve bfind() interface Much more useful now. :)
Behdad Esfahbod 22e1857b 2018-11-24T00:53:19 [arrays] Change argument type of cmp called by hb_vector_t.bsearch() Towards consolidating all array bsearch/...
Behdad Esfahbod d0e81b2c 2018-11-22T21:20:39 [set] Rename
Behdad Esfahbod af123bd1 2018-11-12T16:27:08 Add hb_memcmp()
Behdad Esfahbod 5f97fe99 2018-11-09T10:01:50 Fix a few MSVC 2008 warnings https://github.com/harfbuzz/harfbuzz/issues/1374
Behdad Esfahbod 93ef20a8 2018-11-03T15:03:06 Replace most uses of is_inert with is_immutable
Behdad Esfahbod 5854d3fa 2018-10-31T10:42:49 [set] Warning fix with gcc 8.1 https://github.com/harfbuzz/harfbuzz/pull/1334
Simon Tooke 881e1054 2018-10-30T14:16:23 fix various GCC function pointer warnings
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.
Behdad Esfahbod 955aa56b 2018-10-25T16:50:38 [vector] Make it act more like pointer Add pointer cast operator and plus operator.
Behdad Esfahbod 8d55e2ad 2018-10-25T16:37:53 [set] Minor
Behdad Esfahbod 64c32edf 2018-10-25T16:35:36 [set] Make array access more explicit Follow up on 94e421abbfc7ede9aaf3c8d86bb0ff9992ea3123
Ben Wagner 94e421ab 2018-10-25T13:44:27 Remove some use of Crap in hb-set. When hb_set_t::page_for_insert needs to insert at the end of the page_map it ends up evaluating '&page_map[i + 1]' which has hb_vector return an lvalue of a Crap so that nothing can be moved to its address. This turns into issues with ThreadSanitizer on Crap when two threads modify different hb_set_t instances. This can be avoided by using '&page_map[i] + 1' instead.
Michiharu Ariza 55942ad5 2018-10-06T14:49:44 Merge branch 'master' into cff-subset
Behdad Esfahbod 341206eb 2018-10-05T18:39:48 [vector] Make hb_vector_t relocatable / nestable Ugly, but... Fixes https://github.com/harfbuzz/harfbuzz/issues/1227
Behdad Esfahbod 606bf574 2018-09-16T19:33:48 Revert forcing use of single-parameter static_assert() Some clang versions define static_assert as a macro apparently, so we cannot redefine it... This reverts commit 94bfea0ce6a7b4d5641c198d50751748a353df11. This reverts commit 4e62627831e7457ed60ff87712570065b14b200a.
Behdad Esfahbod 4e626278 2018-09-16T18:09:36 Enforce single-param static_assert() only So we don't accidentally break it again.
Behdad Esfahbod fda994e1 2018-09-07T15:02:57 Use enum instead of "static const" in class scope Technically, static const needs an out-of-class definition. Eg: CXXLD libharfbuzz-subset.la Undefined symbols for architecture x86_64: "OT::FeatureVariationRecord::min_size", referenced from: bool OT::GSUBGPOS::subset<OT::PosLookup>(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o bool OT::GSUBGPOS::subset<OT::SubstLookup>(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o "OT::Record<OT::LangSys>::min_size", referenced from: OT::Script::subset(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o "OT::IntType<unsigned short, 2u>::min_size", referenced from: OT::Script::subset(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o OT::RecordListOf<OT::Feature>::subset(hb_subset_context_t*) const in libharfbuzz_subset_la-hb-subset.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status make[4]: *** [libharfbuzz-subset.la] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Exited with code 2
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.