Behdad Esfahbod
dc2c9aa0c3
Rename
2019-08-28 15:05:49 -07:00
Behdad Esfahbod
42d887bd22
Beef up HeadlessArrayOf<>
...
Should be merged with ArrayOf...
https://github.com/harfbuzz/harfbuzz/issues/1937
2019-08-28 14:47:14 -07:00
Behdad Esfahbod
3ca809e362
Add ArrayOf::pop()
2019-08-28 13:49:35 -07:00
Behdad Esfahbod
307bd6d79f
Add arithmetic operators to IntType<>
2019-08-28 13:49:17 -07:00
Behdad Esfahbod
062cad5e28
Add ArrayOf::serialize_append
2019-08-28 13:48:55 -07:00
Ebrahim Byagowi
a0b4ac4dce
Turn 8 spaces to tab across the project
...
According to the current code style of the project
2019-08-27 02:40:41 +04:30
Ebrahim Byagowi
aab8e08487
minor spacing fix ( #1869 )
2019-07-26 02:19:22 +04:30
Behdad Esfahbod
6492b2345c
Minor
2019-06-17 14:19:13 -07:00
Behdad Esfahbod
8938dd23c6
Use injected class name
2019-06-17 14:12:11 -07:00
Behdad Esfahbod
1834cf86d4
[serialize] Pass offset to serialize_subset()
2019-05-31 14:39:32 -07:00
Behdad Esfahbod
9260441624
[serialize] Pass offset to serialize_copy()
2019-05-31 14:35:01 -07:00
Behdad Esfahbod
dfa5e42971
Add back symmetric OffsetTo<>::friend operator+
...
Finally seems to be working now.
2019-05-15 21:18:14 -07:00
Behdad Esfahbod
203ea58bf6
More adjustment to OffsetTo<>::friend opeator+
...
Let's see if I break any bots. But yeah, it wasn't accepting a
non-const pointer. It just happens that we don't use that in the
code it seems.
2019-05-15 16:14:40 -07:00
Behdad Esfahbod
763ea4224b
Another try
2019-05-15 01:21:32 -07:00
Behdad Esfahbod
e1b2edb04a
Completely revert the thing back
2019-05-15 01:12:04 -07:00
Behdad Esfahbod
c58eeb5fb3
Another try at fix
...
Fails locally. Trying to understand. Sigh
2019-05-15 01:10:31 -07:00
Behdad Esfahbod
004edf3bda
Ugh. How was the Travis bot happy before, but isn't now?! :(
2019-05-15 01:02:50 -07:00
Behdad Esfahbod
e01c7b1648
Move OffsetTo operator+ back out of class
...
Apparently there's different overload resolution rules that apply, at
least with some (older?) version of gcc.
hb-ot-name-table.hh: In member function ‘void OT::name::accelerator_t::init(hb_face_t*)’:
hb-ot-name-table.hh:244:62: error: ambiguous overload for ‘operator+’ (operand types are ‘hb_blob_ptr_t<OT::name>’ and ‘OT::NNOffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> > > {aka const OT::OffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> >, OT::IntType<short unsigned int, 2u>, false>}’)
this->pool = (const char *) (const void *) (this->table+this->table->stringOffset);
^
hb-ot-name-table.hh:244:62: note: candidates are:
hb-ot-name-table.hh:244:62: note: operator+(const C*, long int) <built-in>
hb-ot-name-table.hh:244:62: note: operator+(const char*, long int) <built-in>
2019-05-15 00:52:17 -07:00
Behdad Esfahbod
b213042f87
Revert "Revert symmetric OffsetTo overloads"
...
This reverts commit 01912efb74
.
Actually this didn't break things. Fixing
2019-05-15 00:50:48 -07:00
Behdad Esfahbod
01912efb74
Revert symmetric OffsetTo overloads
...
Reverts 57f65ae935
Caused ambiguous-overload on some gcc...
2019-05-15 00:42:47 -07:00
Behdad Esfahbod
57f65ae935
Add symmetric friend operator+ for OffsetTo
2019-05-14 22:52:59 -07:00
Behdad Esfahbod
71208e5047
Move OffsetTo<> deref operators in-class as friends
2019-05-14 22:51:59 -07:00
Behdad Esfahbod
9bfe22af61
[sanitize] Fix previous commit
2019-05-10 22:44:19 -07:00
Behdad Esfahbod
4dcf65328f
[sanitize] Simplify
2019-05-10 22:23:24 -07:00
Behdad Esfahbod
23168c3981
[sanitize] Use hb_is_trivially_copyable()
2019-05-10 22:20:47 -07:00
Behdad Esfahbod
707ff5b59d
Minor
2019-05-10 20:31:20 -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
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
7166bd5634
Minor
2019-05-08 15:08:33 -07:00
Behdad Esfahbod
dfc5780245
Fix more double-promotion errors
...
WHy do only some of the clang bots catch this I have no idea :(.
2019-05-07 23:26:09 -07:00
Behdad Esfahbod
af571dbffc
[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.
2019-05-07 21:39:20 -07:00
Behdad Esfahbod
83e3eabd84
Whitespace
2019-05-07 20:58:43 -07:00
Behdad Esfahbod
41248cce0e
Remove MIN/MAX in favor of hb_min/hb_max
2019-05-07 20:54:31 -07:00
Behdad Esfahbod
95426ea983
Add comment
2019-05-07 15:56:51 -07:00
Behdad Esfahbod
b10f65933a
[dispatch] Use functionality from previous commit
...
To remove a couple of unwanted wrapper methods
2019-05-05 09:23:35 -07:00
Behdad Esfahbod
8a32c9eecb
[serialize] Misc getting copy() to work
2019-05-02 16:20:18 -07:00
Behdad Esfahbod
998b0b68ac
[serializer] Add copy() to (Unsized)ArrayOf
2019-05-02 14:39:52 -07:00
Behdad Esfahbod
88a4147240
[serializer] Accept exact type in serialize_subset/copy()
2019-05-02 14:22:31 -07:00
Behdad Esfahbod
88fdeeecc0
[serialize] Take arguments in copy()
2019-05-02 14:14:33 -07:00
Behdad Esfahbod
273ed6127b
[serializer] Add serialize_copy()
2019-05-02 14:04:51 -07:00
Ebrahim Byagowi
92588782d7
Remove space between right angle brackets now that we have C++11 ( #1689 )
2019-04-30 13:05:10 -07:00
Behdad Esfahbod
c69f02784a
Fix sign-compare error on 32-bit systems
2019-04-24 16:31:37 -07:00
Behdad Esfahbod
915b9ea5f4
[serialize] Add c->check_assign()
...
To check for assignment overflows.
2019-04-24 10:07:19 -04:00
Behdad Esfahbod
27377a7e28
Rely on variadic parameter pack more
2019-04-24 09:22:14 -04:00
Behdad Esfahbod
3ad20c38ad
[serialize] Fix a few overflow TODO items
2019-04-24 09:09:00 -04:00
Behdad Esfahbod
441cca2354
Use hb_forward() when forwarding parameter pack
2019-04-23 23:51:59 -04:00
Behdad Esfahbod
20f3134789
Use variadic templates in OffsetTo<> and various ArrayOf<>s
2019-04-23 12:59:17 -04:00
Behdad Esfahbod
07776b6096
More tweaks to previous commit
...
Delete assignment operator of OffsetTo<> instead of Offset<>.
In simple ArrayOf<>::sanitize() assert that Type has assignment operator.
Ideally we should SFINAE this and fallback to calling Type::sanitize()
if assignment operator is not available. But we don't have a case of
that in the codebase.
2019-04-15 16:43:34 -04:00
Behdad Esfahbod
699de689e9
Delete default assignment operator Offset<>
2019-04-15 16:00:20 -04:00