src/hb-vector.hh


Log

Author Commit Date CI Message
Thomas Devoogdt c657c4e1 2022-05-10T10:00:06 [meta] fix type traits on gcc 4.9 #3526 Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
Behdad Esfahbod 76fc2771 2022-05-12T12:14:07 [vector] Remove explicit std::move Was confusing compilers. Let them figure it out themselves. Makes NotoNastaliqu subsetting/1000 benchmark more than twice faster: Benchmark Time CPU Time Old Time New CPU Old CPU New ------------------------------------------------------------------------------------------------------------------------------------------------------------ BM_subset/subset_glyphs/NotoNastaliqUrdu-Regular.ttf/1000 -0.5064 -0.5065 111 55 110 55 BM_subset/subset_codepoints/NotoNastaliqUrdu-Regular.ttf/1000 -0.5494 -0.5493 132 59 131 59
Behdad Esfahbod 2e7f1ae4 2022-05-11T12:49:16 [subset] Use vector.allocated size instead of tracking buf_size
Behdad Esfahbod 106388e7 2022-01-19T11:38:37 [vector] Merge sorted-vector into vector Was easier than I thought! Let's see what the bot gods think...
Behdad Esfahbod 294d50ff 2022-01-19T11:32:14 [vector] Add sorted template argument
Behdad Esfahbod cd979978 2022-01-19T11:14:25 [vector] Remove old find() method
Behdad Esfahbod 6ef83c2c 2022-01-18T13:08:34 [vector] Remove .fini_deep()
Behdad Esfahbod 213e3f09 2022-01-18T09:39:46 [vector] Add TODO Emplace?
Behdad Esfahbod 1198fb24 2022-01-16T06:29:35 [vector] Adjust construction criteria
Behdad Esfahbod c58bfa35 2022-01-15T18:06:03 [vector] Move semantics in vector remove()
Behdad Esfahbod 5946e945 2022-01-15T18:00:18 [vector] Destruct in pop()
Behdad Esfahbod 7171917b 2022-01-15T17:16:40 [vector] Construct items when enlarging
Behdad Esfahbod 813eaba6 2022-01-14T13:09:21 [vector] Start adding destruction Now we need to remove manual destruction, ouch!
Behdad Esfahbod 65a22836 2022-01-14T12:55:48 [vector] Add XXX markers for remaining places that need work
Behdad Esfahbod 63affc4e 2022-01-13T16:05:42 [vector] Move semantics when resizing
Behdad Esfahbod 6d555ce8 2021-11-02T00:18:22 [meta] Use std::forward instead of hb_forward()
Behdad Esfahbod 811f80a7 2021-11-02T00:14:34 [algs] Use std::move instead of hb_move()
Behdad Esfahbod 3604f5f2 2021-11-01T22:37:42 [algs] Include <initializer_list>
Behdad Esfahbod 6f74d80e 2021-11-01T21:49:32 [vector] Complete sorted_vector 5-methods
Behdad Esfahbod a28b5d03 2021-11-01T21:43:44 [vector] Add swap() friend to hb_sorted_vector_t
Behdad Esfahbod e97e7996 2021-11-01T21:34:46 Verbiage
Behdad Esfahbod b6c0b40f 2021-11-01T21:15:38 [vector] Use default constructor
Behdad Esfahbod f15858be 2021-11-01T20:26:07 [vector] Pre-allocate if iterator has random-access length
Behdad Esfahbod ee75e716 2021-11-01T20:18:49 [vector] Add initializer from iterable
Behdad Esfahbod 18a078f9 2021-11-01T20:06:58 [vector] Implement move assignment using swap
Behdad Esfahbod eeda2c54 2021-11-01T18:36:57 [vector] Add initializer_list constructor & tests
Behdad Esfahbod c4846413 2021-11-01T18:48:24 Revert "[vector] Add initializer_list constructor & tests" This reverts commit aa6182453b29b2d1cc974756fe0ae4220a846bf4.
Behdad Esfahbod aa618245 2021-11-01T18:36:57 [vector] Add initializer_list constructor & tests
Behdad Esfahbod 8c055699 2021-11-01T17:59:17 [algs] Add hb_swap() ala, and using, std::swap() Use it in vector. Use ADL idiom.
Garret Rieger 5b882c42 2021-10-06T11:12:32 [repacker] performance optimizations for topological sorting. - Presize the output sorted graph and write it once in the correct order to avoid needing to reverse. - Swap the old/new graph vectors instead of copying. - Use a boolean vector for tracking visited instead of a set.
Behdad Esfahbod 03cd9c5c 2021-07-22T11:27:33 Align lfind() API to match bfind()
Behdad Esfahbod 2337f0d0 2021-07-08T10: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
Garret Rieger c5c13006 2021-03-31T11:23:46 [subset] fix memory leaks found in https://oss-fuzz.com/testcase-detail/5179935334465536
Behdad Esfahbod 445efe8d 2020-06-28T20:59:01 m[vector] Recover vector from error in .reset()
Ebrahim Byagowi 08d57d9e 2020-06-28T13:13:25 Add hb_array_t::lfind
Ebrahim Byagowi 2dda6dd7 2020-04-20T14:12:45 minor, tweak spacing turn 8 spaces to tab, add space before Null/Crap
Ebrahim Byagowi 0558413f 2019-10-01T13:49:55 Minor, tweak spaces
Ebrahim Byagowi a0b4ac4d 2019-08-24T17:57:14 Turn 8 spaces to tab across the project According to the current code style of the project
Ebrahim Byagowi aab8e084 2019-07-26T02:19:22 minor spacing fix (#1869)
Behdad Esfahbod d822e0a1 2019-05-15T16:30:08 [array] Adjust operator!= See comments.
Behdad Esfahbod 2fb3a832 2019-05-10T18:40:29 [vector] Simplify arrayZ Was turned into function when we had static ones and wanted to be move-safe... Not the case anymore.
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 8a8d45b9 2019-03-31T19:00:09 [iter] Adjust hb_copy() and use it Untested.
Behdad Esfahbod b189bbc4 2019-03-30T19:41:48 Implement hashing of objects Should be improved for hb_bytes_t.
Behdad Esfahbod 7fd82283 2019-03-30T19:16:20 [serialize] Towards maintaining hashmap
Behdad Esfahbod e6b78003 2019-03-30T18:33:30 [vector] Add move semantics
Behdad Esfahbod 4c4d3c3e 2019-03-30T18:30:50 [vector] Add some move and forwarding
Behdad Esfahbod 357c7c61 2019-03-30T18:13:57 [vector] Add copy constructor and assignment operator
Behdad Esfahbod bed150bd 2019-03-30T17:26:35 [serialize] Start fleshing out object stack
Behdad Esfahbod 58ad3579 2019-03-29T20:05:19 [vector] Accept all types in push(...) Let assignment operator worry about conversion.
Behdad Esfahbod 3f36c89f 2019-03-29T15:22:46 Inline explicit_operator macro Now that we require C++11, no need to macro.
Behdad Esfahbod a30e1346 2019-01-28T16:39:01 [iter] Add operator << to set / vector
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 a4ea0d36 2019-01-09T00:32:11 [iter] Change from const_iter_t/iter_t to iter_t/writer_t
Behdad Esfahbod 815cde9f 2019-01-07T18:33:04 [iter] Use is_sorted_iterator
Behdad Esfahbod fd75d29f 2018-12-27T16:29:22 [iter] Streamline vector iterators
Behdad Esfahbod 6dc4a1c9 2018-12-26T19:49:13 [iter] Remove const_iter
Behdad Esfahbod 959bb58b 2018-12-26T18:54:15 [vector] Add iterator
Behdad Esfahbod 54c0a173 2018-12-27T18:27:36 [vector] Fix warning
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 ab2258a4 2018-12-27T17:45:05 [vector] Use allocated = -1 to signify failure
Behdad Esfahbod 3b81442c 2018-12-24T11:31:04 [vector] Change pre-alloced count from 8 to 2 I'm thinking about dropping it to zero, but that needs slight code changes.
Behdad Esfahbod 474a1205 2018-12-21T18:46:51 [array/vector] Rename len to length
Behdad Esfahbod 865deeb3 2018-12-21T17:35:58 Adjust internal header dependencies
Behdad Esfahbod 879faa2a 2018-12-21T01:57:40 Rename
Behdad Esfahbod a728c63a 2018-12-20T23:15:49 [vector] Add operator bool
Behdad Esfahbod bd369773 2018-12-20T23:14:24 Rename
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Behdad Esfahbod 0d0fe9df 2018-12-16T22:29:40 [arrays] Remove need of stride in Supplier<>
Behdad Esfahbod 3656f56d 2018-12-16T20:35:11 [arrays] Minor
Behdad Esfahbod 5a552f75 2018-12-16T20:07:44 [array] Move hb_array_t and related types to hb-array.hh
Behdad Esfahbod 01d06e34 2018-12-16T14:27:43 Minor change to explicit_operator aesthetics
Ebrahim Byagowi b2ebaa9a 2018-12-16T22:38:10 Remove redundant 'inline' from methods (#1483)
Behdad Esfahbod f1352f74 2018-12-06T10:21:06 Add sub_array to hb_vector_t
Behdad Esfahbod 2087f5a2 2018-12-01T20:04:45 Add casts to hb_array_t<>
Behdad Esfahbod dfad19ad 2018-11-30T19:57:12 Make operator [] take signed int The built-in operator takes signed int. So, match it, such that the built-in is never a better or equally-good match to our operator. Fixes "ambiguous overload" errors from gcc 4.2 and VS 2008. See https://github.com/harfbuzz/harfbuzz/issues/1374
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 d77a098b 2018-11-24T10:06:13 [arrays] Improve bfind() interface Much more useful now. :)
Behdad Esfahbod 61de55bf 2018-11-24T01:45:58 [arrays] Port hb_vector_t.qsort() to hb_array_t's
Behdad Esfahbod e3face8e 2018-11-24T01:42:17 [arrays] Remove one flavor of hb_vector_t.qsort()
Behdad Esfahbod e700392f 2018-11-24T01:31:00 [arrays] Port SortedArrayOf.bsearch/bfind to hb_sorted_array_t's
Behdad Esfahbod e604306f 2018-11-24T01:24:48 [arrays] Port hb_vector_t.bsearch/bfind to (new) hb_sorted_array_t's
Behdad Esfahbod 830856ba 2018-11-24T01:09:28 [arrays] Port hb_vector_t.lsearch() to hb_array_t's
Behdad Esfahbod 96cf0889 2018-11-24T01:07:15 [arrays] More
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 30cb45b3 2018-11-24T00:35:31 Change ArrayOf.bsearch() return semantics Towards consolidating all array bsearch/...
Behdad Esfahbod bb2a2065 2018-11-24T00:31:40 Assert that item-type of arrays have static size
Behdad Esfahbod 690d9eb8 2018-11-24T00:29:22 [vector] Rename
Behdad Esfahbod 04f7e553 2018-11-23T16:07:43 [arrays] Add as_array() to hb_vector_t<>
Behdad Esfahbod 5f97fe99 2018-11-09T10:01:50 Fix a few MSVC 2008 warnings https://github.com/harfbuzz/harfbuzz/issues/1374
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 21ede867 2018-10-25T13:19:34 Fix possible overflow in bsearch impls From bungeman. Fixes https://github.com/harfbuzz/harfbuzz/pull/1314
Behdad Esfahbod 5eb7e7f6 2018-10-16T13:32:52 Revert "[vector] Simplify Sort" and "More of the same" This reverts commit de0b9a466490c2c13d6ec6f59d5122b0a87d3180. This reverts commit 921f0e6ec722940a1e37660e1291aa69f9f39db8. Annnnd, revert. MSVC doesn't like it.
Behdad Esfahbod de0b9a46 2018-10-15T22:20:26 [vector] More of the same
Behdad Esfahbod 921f0e6e 2018-10-15T22:19:17 [vector] Simplify sort Hopefully this fits fine with SFINAE with all our compilers.
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