|
db700b56
|
2023-06-12T23:38:26
|
|
[subset] fix fuzzer timeout.
Fixes: https://oss-fuzz.com/testcase-detail/6681253479579648. Limits iteration of coverage table during MATH subset to valid glyphs.
|
|
988e4f06
|
2023-06-07T15:57:47
|
|
[iter] Comment
|
|
0364c69e
|
2023-06-07T15:52:18
|
|
[iter] Add has_fast_len
Set iterators are not random_access, but have fast len().
|
|
ad620af6
|
2023-06-07T14:59:22
|
|
Revert "[iter] Another try at writing some for loops as range loops"
This reverts commit 69c6928289cad871b5b096fbdcd2827fdb80c3ad.
This had code size increase, and slows down non-random-access
iterators since it accesses __end__ which is O(n).
|
|
69c69282
|
2023-06-07T14:11:02
|
|
[iter] Another try at writing some for loops as range loops
|
|
78082357
|
2023-06-07T12:43:05
|
|
Revert "[iter] Rewrite some loops as range loops"
This reverts commit 7a5242a30f3c41755a095909989221b4d22690ef.
This times out test-set. Obviously broke something (in hb_all
I think). Not bothering to figure out right now.
|
|
7a5242a3
|
2023-06-07T12:36:15
|
|
[iter] Rewrite some loops as range loops
|
|
de729ec1
|
2023-06-03T15:48:54
|
|
[meta] Return reference from reference-wrapper
|
|
e1dc4920
|
2023-01-26T12:11:35
|
|
[iter] Allow hb_len() to fetch c.len as non-function
|
|
e82a3c69
|
2022-11-21T12:00:10
|
|
[array/vector] Optimize range-based for-loop
Avoid bounds-checking.
|
|
0dc0da05
|
2022-07-06T12:33:37
|
|
[iter] Add hb_is_sorted_iterator(_of)
|
|
e1575f23
|
2022-06-10T07:41:39
|
|
[iter] Remove a few TODO items
|
|
8a69e006
|
2022-01-13T16:17:34
|
|
[meta] Use std::addressof() instead of hb_addressof()
|
|
b7b0a15f
|
2022-01-13T15:33:27
|
|
[meta] Remove hb_add_const
|
|
909dde9d
|
2022-01-13T15:30:10
|
|
[meta] Use std::is_reference instead of hb_is_reference
|
|
071aea42
|
2021-11-30T16:16:06
|
|
[iter] add specialized implementation for hb_concat forward when iterators are not random access.
|
|
2e935514
|
2021-11-30T16:02:05
|
|
[iter] fix forward implementation in hb_concat().
Add test coverage for forward.
|
|
ca227411
|
2021-11-30T12:53:15
|
|
[iter] add hb_concat (a, b).
Iterates over a, and then over b.
|
|
6d555ce8
|
2021-11-02T00:18:22
|
|
[meta] Use std::forward instead of hb_forward()
|
|
bb48bf52
|
2021-07-08T10:53:45
|
|
Rename misc uses of "free"
In preparation for fixing https://github.com/harfbuzz/harfbuzz/issues/3044
|
|
5fce8898
|
2021-01-21T12:14:20
|
|
[iter] Allow passing rvalue iters to hb_fill()
|
|
9510e918
|
2019-09-01T16:25:33
|
|
[iter] Partialize hb_zip()
|
|
c9eb913f
|
2019-08-31T15:21:02
|
|
[iter] Simplify hb_chop()
|
|
67ec9fa9
|
2019-08-31T14:51:49
|
|
[iter] Add hb_chop()
|
|
5828d8e8
|
2019-08-31T14:36:44
|
|
[iter] Add hb_take() specialization for arrays
|
|
398b296f
|
2019-08-31T12:44:24
|
|
[iter] Add hb_len()
|
|
875131d4
|
2019-08-31T12:42:52
|
|
[iter] Add hb_take()
|
|
1f88dae9
|
2019-08-31T12:24:42
|
|
[iter] Make iota() accept invokable for increasing to next item
|
|
b1378d8a
|
2019-08-30T12:10:45
|
|
[iter] Add hb_repeat()
|
|
966a18b9
|
2019-08-30T12:07:17
|
|
[iter] Remove some &&
|
|
de45775c
|
2019-08-30T12:02:46
|
|
[iter] Use hb_ridentity instead of lazy +
|
|
ce4d63be
|
2019-08-30T11:59:50
|
|
[iter] Separate hb_iota implementation from hb_range
|
|
814dc3cb
|
2019-08-30T10:20:30
|
|
[iter] Rename
Moving towards making iota useful for non-integers.
|
|
c72589f1
|
2019-08-29T15:45:21
|
|
[iter] Change item_size to get_item_size()
By moving access to hb_static_size(Type) into a function instead of
a class-const, we can refer to iter types of incomplete types, which
come handy when a method of hb_array_t wants to return iterator
of hb_array_t. That kind of stuff. Next commit needs this to
build on clang...
|
|
a0b4ac4d
|
2019-08-24T17:57:14
|
|
Turn 8 spaces to tab across the project
According to the current code style of the project
|
|
7bcc5dfa
|
2019-07-28T20:55:50
|
|
[iter] Fix accumulate to accept const types
|
|
576065b4
|
2019-07-17T11:19:34
|
|
[iter] Fix reduce type deduction
|
|
ebf47a95
|
2019-05-15T15:14:26
|
|
[iter] Simplify operator!= of iterator filters
Both to save ops, and also because lambdas don't implement operator!=,
so this was failing in range-based for loop if a lambda was passed to
hb_map() or hb_filter(). Just check end-condition assuming that we
are comparing to .end() or iterators that are otherwise derived from
current iterator. Ie. don't compare things that are expected to be
in common.
|
|
f244224d
|
2019-05-15T14:19:20
|
|
[iter] Use default operators instead of redefining empty ones
|
|
889dc1eb
|
2019-05-14T22:28:07
|
|
[iter] Remove sort categorization
See comments.
|
|
4d3cf2ad
|
2019-05-13T17:25:07
|
|
[iter] Fix zip iterator sortedness classification logic
|
|
51376284
|
2019-05-13T15:36:14
|
|
[iter] Track strictly-sorted iterators
This make output of hb_enumerate() sorted regardless of input iterator.
|
|
7e02063f
|
2019-05-13T15:26:00
|
|
[iter] Minor
|
|
e98f0ddd
|
2019-05-13T13:53:06
|
|
Fix extra semi-colon
|
|
606841b0
|
2019-05-11T11:54:30
|
|
[iter] Check for more before forwarding/rewinding past ends
|
|
c1c122e7
|
2019-05-11T11:38:06
|
|
[iter] Fix filter rewinding
|
|
79126df3
|
2019-05-11T11:23:31
|
|
[iter] Add hb_map_sorted() and hb_map_retains_sorting()
|
|
19e08a14
|
2019-05-10T21:25:07
|
|
[iter] Adjust source_of/sink_of
|
|
61d150c9
|
2019-05-10T20:06:31
|
|
[meta] Add integral_constant, true_t -> true_type, false_t -> false_type
|
|
98974ac1
|
2019-05-10T11:18:52
|
|
[iter] Adjust is_source_of / is_sink_of
There are two cases that we accept. Encode both.
|
|
ed972d5d
|
2019-05-09T16:58:28
|
|
[iter] Rewrite test functions
Notably, add hb_is_source_of(,) and hb_is_sink_of(,) to replace most
uses of hb_is_iterator_of(,).
|
|
726002a6
|
2019-05-09T14:53:02
|
|
[iter] Make hb_is_iterator_of() check is_convertible
Instead of is_cr_convertible.
|
|
4f2ad75a
|
2019-05-09T12:07:45
|
|
[enumerate] Fix hb_enumerate() len for step=0
|
|
5da3c9c3
|
2019-05-09T11:30:31
|
|
[iter] Fix hb_zip() end condition
We should compare-equal to end if either iterator's end reaches,
not if both reach at the same time. Fixes infinite-loop in test
which was happening after hb_enumerate() switched to using hb_zip().
|
|
57a5256f
|
2019-05-09T11:30:27
|
|
[iter] Minor
|
|
12dd56f8
|
2019-05-09T11:25:02
|
|
[iter] Minor
|
|
46837910
|
2019-05-09T11:20:41
|
|
[iter] Allow negative step in hb_iota()
|
|
087327af
|
2019-05-09T11:14:06
|
|
[iter] Minor
|
|
64f0899a
|
2019-05-09T11:10:31
|
|
[iter] Bug fix
|
|
5d263556
|
2019-05-09T11:08:25
|
|
[iter] Fix
|
|
2c24ea37
|
2019-05-09T11:07:38
|
|
[iter] Take start value in hb_enumerate()
Also rewrite it via composition.
|
|
7675d0d3
|
2019-05-09T11:02:56
|
|
[iter] Add hb_range()
hb_range() is like Python range. hb_iota() has slightly different API.
Ie. it takes a start, instead of end.
|
|
71537f93
|
2019-05-09T10:46:49
|
|
[iota] end -> end_ to not shadow
|
|
5875d775
|
2019-05-08T12:25:34
|
|
[iter] Rename hb_iter_t() to hb_iter_type<> and add hb_item_type<>
|
|
cdb61eb0
|
2019-05-08T11:00:18
|
|
[iter] Accept pointer in hb_iter() and hb_iter_t()
|
|
c93eeba9
|
2019-05-08T10:56:09
|
|
[iter] Accept pointer in hb_map()
|
|
50dc3e7d
|
2019-05-08T10:35:02
|
|
Add hb_iota()
|
|
aa4ac13f
|
2019-05-08T10:02:30
|
|
[iter] Actually fix previous commit
The iter objects shouldn't not be const. D'oh.
|
|
a66598e0
|
2019-05-08T09:56:29
|
|
[iter] For ref-qualified variants
|
|
8479eb59
|
2019-05-08T09:48:55
|
|
[iter] Fix hb_sink() to accept rvalue
|
|
710d459a
|
2019-05-08T09:33:09
|
|
[iter] Default predicates to hb_identity instead of hb_bool
The bool conversion happens after predicate is called automatically.
|
|
fe14a400
|
2019-05-08T09:32:19
|
|
Adjust hb_all/any/none
|
|
bdbfdc92
|
2019-05-07T22:52:43
|
|
[iter] Add value and projection to hb_all/any/none
Allows for eg, checking all values equal 2: hb_all (it, 2).
|
|
cf61acb9
|
2019-05-07T22:45:01
|
|
[iter] Accept rvalues to hb_enumerate()
|
|
af571dbf
|
2019-05-07T21:39:20
|
|
[meta] Replace most hb_enable_if with hb_requires
They do absolutely same thing. hb_requires is to encode constraints,
whereas hb_enable_if is for more conditional enabling.
|
|
41248cce
|
2019-05-07T20:54:31
|
|
Remove MIN/MAX in favor of hb_min/hb_max
|
|
7654ebe3
|
2019-05-07T16:53:03
|
|
Whitespace
|
|
c09d6c58
|
2019-05-07T14:09:00
|
|
[iter] Require lvalue in operators that return reference
|
|
8903040f
|
2019-05-07T00:13:11
|
|
Actually make it work
|
|
025eaa3c
|
2019-05-07T00:05:37
|
|
[iter] Make filter/map copyable
|
|
0b1ca5a1
|
2019-05-06T23:04:32
|
|
[iter] Adjust hb_filter
|
|
4c2fd05c
|
2019-05-06T19:57:15
|
|
[iter] Implement range-based for loops
Part of https://github.com/harfbuzz/harfbuzz/issues/1648
|
|
92588782
|
2019-04-30T13:05:10
|
|
Remove space between right angle brackets now that we have C++11 (#1689)
|
|
73c82f23
|
2019-04-26T13:16:48
|
|
[iter] Fix hb_is_iterator_of() to actually check item type
|
|
714307cc
|
2019-04-24T10:56:12
|
|
[iter] Remove fixed TODO
|
|
ae8da4b6
|
2019-04-22T15:25:11
|
|
Minor
|
|
6916b778
|
2019-04-16T18:33:51
|
|
One more auto return type
|
|
54ece299
|
2019-04-16T16:45:53
|
|
Use type aliasing for meta-functions, ie. those returning a type
|
|
b8e763fd
|
2019-04-16T10:50:22
|
|
[meta] Add hb_invoke()
|
|
a3fcb9a3
|
2019-04-16T10:45:20
|
|
[meta] Add HB_AUTO_RETURN_EXPR, HB_VOID_RETURN_EXPR, hb_priority, hb_has(), hb_get()
The first three based on range-v3.
|
|
89fea216
|
2019-04-15T17:36:09
|
|
Fix copyright
|
|
02d864aa
|
2019-04-15T15:39:03
|
|
Add HB_FUNCOBJ()
Fixes https://github.com/harfbuzz/harfbuzz/issues/1651
|
|
a98e4068
|
2019-04-12T22:42:44
|
|
Revert "Hide symbols in hb-iter"
This reverts commit 98f14c4cdb837a962083a6702f401d41b4c1ec5c.
Same as previous commit.
|
|
98f14c4c
|
2019-04-12T18:11:18
|
|
Hide symbols in hb-iter
Painful. All template methods need to be explicitly hidden :(.
Maybe we should switch to -fvisibility=hidden pragma.
A LOT more to go.
|
|
2bd27502
|
2019-04-03T15:31:53
|
|
[iter] Tweak SFINAE again
Don't think we need hb_is_same().
|
|
d419a9a4
|
2019-04-03T14:18:19
|
|
[iter] Use different SFINAE scheme to make MSVC happy
From Orvid King: TLDR; MSVC has some issues using sizeof(declval<T>()) for
SFINAE of templated types, so I just used SFINAE in a different context where
MSVC doesn't have the issue.
|
|
42ab32cb
|
2019-04-02T18:41:33
|
|
[iter] Remove passing pointer to hb_iter()
While doable with hb_deref_pointer() as well, we also would then
need to do it in a ton of places. Not worth it / messy.
|
|
b6f29bf1
|
2019-04-02T18:12:01
|
|
[iter] Accept pointers in hb_iter()
No idea how to avoid dupicating code. Was hoping hb_deref_pointer()
would do it, but looks like a pointer can't bind to a universal
reference T&&. Humm.
|
|
b8642087
|
2019-04-02T00:30:06
|
|
[iter] hb_reduce, accumulator with a different type
|
|
e526414c
|
2019-03-31T12:41:58
|
|
[iter] Implement hb_reduce
|