Behdad Esfahbod
e0315b4aad
[meta] is_integer -> is_integral
2019-05-10 19:48:02 -07:00
Behdad Esfahbod
9574de7a3e
[meta] Add add_const, add_pointer, add_lvalue_reference, add_rvalue_reference
2019-05-10 19:29:32 -07:00
Behdad Esfahbod
2fb3a8327a
[vector] Simplify arrayZ
...
Was turned into function when we had static ones and wanted to be
move-safe... Not the case anymore.
2019-05-10 18:43:48 -07:00
Behdad Esfahbod
4d67743ffd
[subset] Use more auto typing
2019-05-10 18:43:48 -07:00
Behdad Esfahbod
a27a31b9ee
Minor
2019-05-10 18:43:48 -07:00
Behdad Esfahbod
2ade008628
[serialize] More rewrite
2019-05-10 18:43:48 -07:00
Behdad Esfahbod
99ed6e29d8
[serialize] Fix a TODO
2019-05-10 18:43:48 -07:00
Behdad Esfahbod
25a5b287f2
Fix sanitize fail of extension sublookups
...
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=960331
2019-05-10 16:03:20 -07:00
Behdad Esfahbod
9c0c3589f3
Minor
2019-05-10 13:56:50 -07:00
Behdad Esfahbod
5d773ec600
Minor
2019-05-10 13:53:15 -07:00
Behdad Esfahbod
ac737f8c9e
Minor again
2019-05-10 13:51:12 -07:00
Behdad Esfahbod
5d4437fad0
Minor
2019-05-10 13:43:29 -07:00
Behdad Esfahbod
cd9bc732a7
[gsubgpos] Minor
2019-05-10 13:17:41 -07:00
Behdad Esfahbod
1d870cce68
Fix bot
...
Any way to catch these?
2019-05-10 11:32:59 -07:00
Behdad Esfahbod
30e4ae6bd1
[meta] Add hb_is_base_of
2019-05-10 11:26:49 -07:00
Behdad Esfahbod
98974ac16f
[iter] Adjust is_source_of / is_sink_of
...
There are two cases that we accept. Encode both.
2019-05-10 11:26:49 -07:00
Behdad Esfahbod
ed972d5d73
[iter] Rewrite test functions
...
Notably, add hb_is_source_of(,) and hb_is_sink_of(,) to replace most
uses of hb_is_iterator_of(,).
2019-05-09 16:58:28 -07:00
Behdad Esfahbod
42901d7af9
Minor
2019-05-09 16:22:08 -07:00
Behdad Esfahbod
322627ae1d
Whitespace
2019-05-09 16:08:10 -07:00
Behdad Esfahbod
489f3c35bd
Fix bot
2019-05-09 15:39:53 -07:00
Behdad Esfahbod
790315e0db
[algs] Implement implicit casting between compatible pair types
2019-05-09 15:31:24 -07:00
Behdad Esfahbod
69d9114b53
[meta] Rewrite hb_is_cr_converitble
2019-05-09 15:24:25 -07:00
Behdad Esfahbod
ceda1f03b7
Fix compile
...
NameRecord is not copy-constructible, so should be iterator of
const-reference.
2019-05-09 15:24:25 -07:00
Behdad Esfahbod
3686c3b65c
Adjust is_cr_convertible
...
If To is const& then From doesn't need to be &.
2019-05-09 15:24:25 -07:00
Behdad Esfahbod
726002a6a6
[iter] Make hb_is_iterator_of() check is_convertible
...
Instead of is_cr_convertible.
2019-05-09 15:24:25 -07:00
Behdad Esfahbod
70a49f2e4a
[meta] Add hb_conditional<> and hb_is_convertible()
2019-05-09 15:24:25 -07:00
Garret Rieger
5e3cbed048
[subset] Switch building of glyph maps in subset plan to use iterators.
2019-05-09 14:52:01 -07:00
Garret Rieger
971020eca7
Add sink support for hb_hashmap_t and a reverse call to hb_pair_t.
2019-05-09 14:52:01 -07:00
Behdad Esfahbod
98eec3dd5f
Add hb_pair_t(,) macro as alternative to hb_pair_t<,>
...
Just so it's easier to use it in other macros.
2019-05-09 13:15:36 -07:00
Behdad Esfahbod
c9b287a867
Add hb_lidentity(), and rename hb_rvalue() to hb_ridentity()
2019-05-09 12:43:57 -07:00
Behdad Esfahbod
00195a22ce
[hdmx] Adjust to hb_iota() behavior change
...
Use hb_range() instead.
2019-05-09 12:14:36 -07:00
Behdad Esfahbod
4f2ad75a83
[enumerate] Fix hb_enumerate() len for step=0
2019-05-09 12:07:45 -07:00
Behdad Esfahbod
5da3c9c33f
[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().
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
57a5256fbc
[iter] Minor
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
12dd56f857
[iter] Minor
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
57d545932f
[test-iter] Don't walk past end
...
That's not legal.
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
46837910e6
[iter] Allow negative step in hb_iota()
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
087327af1e
[iter] Minor
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
64f0899a9f
[iter] Bug fix
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
5d263556b9
[iter] Fix
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
2c24ea37b1
[iter] Take start value in hb_enumerate()
...
Also rewrite it via composition.
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
7675d0d3a6
[iter] Add hb_range()
...
hb_range() is like Python range. hb_iota() has slightly different API.
Ie. it takes a start, instead of end.
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
05867d9f53
[meta] Add hb_int_max()
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
71537f93e0
[iota] end -> end_ to not shadow
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
3476445420
Remove unnecessary template keyword
...
Should fix MSVC.
2019-05-08 21:14:01 -07:00
Behdad Esfahbod
e2a51ff726
Remove unused var
2019-05-08 16:41:39 -07:00
Behdad Esfahbod
e8b45c1933
[array] Add .copy()
2019-05-08 16:37:38 -07:00
Behdad Esfahbod
afb013f350
Fix msan issue
...
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().
2019-05-08 16:16:43 -07:00
Behdad Esfahbod
4c94bc63d9
Move hb_invoke() back to hb-algs.hh
2019-05-08 15:57:33 -07:00
Behdad Esfahbod
b710176ce2
[hdmx] Touch up
2019-05-08 15:47:24 -07:00