platform/upstream/libHarfBuzzSharp.git
5 years ago[iter] Move code
Behdad Esfahbod [Wed, 9 Jan 2019 17:07:01 +0000 (09:07 -0800)]
[iter] Move code

5 years agoRename hb-dsalgs to hb-algs
Behdad Esfahbod [Wed, 9 Jan 2019 17:05:01 +0000 (09:05 -0800)]
Rename hb-dsalgs to hb-algs

5 years ago[algs] Add hb_first() and hb_second()
Behdad Esfahbod [Wed, 9 Jan 2019 17:03:21 +0000 (09:03 -0800)]
[algs] Add hb_first() and hb_second()

5 years agoImplement uniform map interface
Behdad Esfahbod [Wed, 9 Jan 2019 16:39:25 +0000 (08:39 -0800)]
Implement uniform map interface

Coverage, ClassDef, hb_set_t, and hb_map_t implement.

5 years ago[meta] Remove hb_enable_if_t
Behdad Esfahbod [Wed, 9 Jan 2019 09:02:38 +0000 (01:02 -0800)]
[meta] Remove hb_enable_if_t

It was only used for C++<11 which does not allow default parameters
in function templates.  Looks like we cannot support <11 anyway, so,
start cleaning up.

5 years ago[iter] Implement operator-> unconditionally
Behdad Esfahbod [Wed, 9 Jan 2019 08:36:47 +0000 (00:36 -0800)]
[iter] Implement operator-> unconditionally

The right condition to check for would have been "is_struct", which
we don't have.

5 years agoAllow rvalues in hb_addressof()
Behdad Esfahbod [Wed, 9 Jan 2019 08:36:26 +0000 (00:36 -0800)]
Allow rvalues in hb_addressof()

5 years ago[iter] Change from const_iter_t/iter_t to iter_t/writer_t
Behdad Esfahbod [Wed, 9 Jan 2019 08:32:11 +0000 (00:32 -0800)]
[iter] Change from const_iter_t/iter_t to iter_t/writer_t

5 years ago[iter] Change Coverage iterator to only return glyph-id
Behdad Esfahbod [Wed, 9 Jan 2019 08:25:53 +0000 (00:25 -0800)]
[iter] Change Coverage iterator to only return glyph-id

5 years ago[iter] Add hb_zip()
Behdad Esfahbod [Wed, 9 Jan 2019 07:57:16 +0000 (23:57 -0800)]
[iter] Add hb_zip()

5 years ago[iter] Rename __item_type__ to __item_t__
Behdad Esfahbod [Wed, 9 Jan 2019 07:48:35 +0000 (23:48 -0800)]
[iter] Rename __item_type__ to __item_t__

5 years agoTighten Coverage iteration
Behdad Esfahbod [Wed, 9 Jan 2019 07:28:05 +0000 (23:28 -0800)]
Tighten Coverage iteration

5 years ago[subset] Minor
Behdad Esfahbod [Wed, 9 Jan 2019 07:20:23 +0000 (23:20 -0800)]
[subset] Minor

5 years ago[iter] More semicolon
Behdad Esfahbod [Wed, 9 Jan 2019 03:13:17 +0000 (19:13 -0800)]
[iter] More semicolon

5 years ago[iter] Use aliasing using for types
Behdad Esfahbod [Wed, 9 Jan 2019 00:38:08 +0000 (16:38 -0800)]
[iter] Use aliasing using for types

Fix ambiguity of hb_sorted_array_t::item_t with gcc.  No idea if that's a gcc bug
or what spec requires, but using aliasing using seems to fix it.  It probably breaks
our non-C++11 bots, in which case I have to condition the change.  Testing.

5 years ago[iter] Use static_assert with hb_is_random_access_iterator()
Behdad Esfahbod [Wed, 9 Jan 2019 00:33:31 +0000 (16:33 -0800)]
[iter] Use static_assert with hb_is_random_access_iterator()

Both, checks constexpr'ness, and fixes build with cra**y implementations
of assert() macro:

test-iter.cc:108:11: error: too many arguments provided to function-like macro invocation
  assert (hb_is_random_access_iterator (array_iter_t<int>));
          ^
./hb-iter.hh:186:42: note: expanded from macro 'hb_is_random_access_iterator'
  hb_is_random_access_iterator_of (Iter, typename Iter::item_t)
                                         ^
/usr/include/x86_64-linux-gnu/sys/cdefs.h:89:9: note: macro '__STRING' defined here
\#define __STRING(x)     #x
        ^
test-iter.cc:108:3: error: use of undeclared identifier '__STRING'
  assert (hb_is_random_access_iterator (array_iter_t<int>));
  ^
/usr/include/assert.h:91:21: note: expanded from macro 'assert'
   : __assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION))
                    ^

5 years ago[iter] Remove stray semicolons
Behdad Esfahbod [Wed, 9 Jan 2019 00:27:37 +0000 (16:27 -0800)]
[iter] Remove stray semicolons

5 years ago[OT] Implement operator[] for Coverage and ClassDef
Behdad Esfahbod [Tue, 8 Jan 2019 21:48:42 +0000 (13:48 -0800)]
[OT] Implement operator[] for Coverage and ClassDef

5 years ago[iter] Add TODO
Behdad Esfahbod [Tue, 8 Jan 2019 21:43:49 +0000 (13:43 -0800)]
[iter] Add TODO

5 years ago[iter] Implement for OT::ArrayOf / OT::SortedArrayOf
Behdad Esfahbod [Tue, 8 Jan 2019 21:41:30 +0000 (13:41 -0800)]
[iter] Implement for OT::ArrayOf / OT::SortedArrayOf

5 years ago[SortedArrayOf] Fix sub_array() return type
Behdad Esfahbod [Tue, 8 Jan 2019 21:05:01 +0000 (13:05 -0800)]
[SortedArrayOf] Fix sub_array() return type

5 years ago[iter] Constrain hb_fill() and hb_copy()
Behdad Esfahbod [Tue, 8 Jan 2019 21:00:06 +0000 (13:00 -0800)]
[iter] Constrain hb_fill() and hb_copy()

5 years ago[iter] Add TODO
Behdad Esfahbod [Tue, 8 Jan 2019 20:57:01 +0000 (12:57 -0800)]
[iter] Add TODO

5 years ago[iter] Add hb_is_random_access_iterator()
Behdad Esfahbod [Tue, 8 Jan 2019 20:53:02 +0000 (12:53 -0800)]
[iter] Add hb_is_random_access_iterator()

5 years ago[iter] Rename hb_is_[sorted_]iterator() -> hb_is_[sorted_]iterator_of()
Behdad Esfahbod [Tue, 8 Jan 2019 20:42:15 +0000 (12:42 -0800)]
[iter] Rename hb_is_[sorted_]iterator() -> hb_is_[sorted_]iterator_of()

5 years ago[meta] Add hb_declval() macro
Behdad Esfahbod [Tue, 8 Jan 2019 19:27:51 +0000 (14:27 -0500)]
[meta] Add hb_declval() macro

5 years ago[iter] Syntax
Behdad Esfahbod [Tue, 8 Jan 2019 19:26:41 +0000 (14:26 -0500)]
[iter] Syntax

5 years ago[iter] Test hb_is_iterable / hb_is_iterator
Behdad Esfahbod [Tue, 8 Jan 2019 19:23:12 +0000 (14:23 -0500)]
[iter] Test hb_is_iterable / hb_is_iterator

5 years ago[serialize] Make SortedArrayOf:;serialize() take sorted-iterator
Behdad Esfahbod [Tue, 8 Jan 2019 03:00:45 +0000 (22:00 -0500)]
[serialize] Make SortedArrayOf:;serialize() take sorted-iterator

5 years ago[iter] Fix operator->
Behdad Esfahbod [Tue, 8 Jan 2019 02:38:49 +0000 (21:38 -0500)]
[iter] Fix operator->

5 years ago[array] SFINAE fun
Behdad Esfahbod [Tue, 8 Jan 2019 01:20:44 +0000 (20:20 -0500)]
[array] SFINAE fun

5 years ago[meta] Rename
Behdad Esfahbod [Tue, 8 Jan 2019 00:41:52 +0000 (19:41 -0500)]
[meta] Rename

5 years ago[array] Remove construction that was removing constness
Behdad Esfahbod [Tue, 8 Jan 2019 00:03:53 +0000 (19:03 -0500)]
[array] Remove construction that was removing constness

5 years ago[iter] Fix test
Behdad Esfahbod [Mon, 7 Jan 2019 23:59:26 +0000 (18:59 -0500)]
[iter] Fix test

5 years ago[iter] Remove comment
Behdad Esfahbod [Mon, 7 Jan 2019 23:36:14 +0000 (18:36 -0500)]
[iter] Remove comment

5 years ago[iter] Use is_sorted_iterator
Behdad Esfahbod [Mon, 7 Jan 2019 23:33:04 +0000 (18:33 -0500)]
[iter] Use is_sorted_iterator

5 years ago[iter] Handhold hb_is_iterator() type deduction
Behdad Esfahbod [Mon, 7 Jan 2019 22:24:23 +0000 (17:24 -0500)]
[iter] Handhold hb_is_iterator() type deduction

by partial-instantiating on Iter.

5 years agoRevert "[iter] Add hb_iter_of_t<>"
Behdad Esfahbod [Fri, 4 Jan 2019 16:22:32 +0000 (11:22 -0500)]
Revert "[iter] Add hb_iter_of_t<>"

This reverts commit d6cbe96e2fc7bc8f1c10e631b52b1ef31ff9a6f5.

Isn't useful, as duplicate inheritance of same type results in ambiguity
errors...

5 years ago[iter] Fix warnings
Behdad Esfahbod [Wed, 2 Jan 2019 22:00:01 +0000 (17:00 -0500)]
[iter] Fix warnings

5 years ago[iter] Add hb_iter_of_t<>
Behdad Esfahbod [Wed, 2 Jan 2019 21:43:52 +0000 (16:43 -0500)]
[iter] Add hb_iter_of_t<>

5 years ago[iter] Remove hb_sorted_iter_t
Behdad Esfahbod [Wed, 2 Jan 2019 21:20:40 +0000 (16:20 -0500)]
[iter] Remove hb_sorted_iter_t

Not enforcing it using type hierarchy.

5 years ago[iter] Const correctness
Behdad Esfahbod [Wed, 2 Jan 2019 21:14:00 +0000 (16:14 -0500)]
[iter] Const correctness

5 years agoAdd operator= to IntType, commented out
Behdad Esfahbod [Mon, 31 Dec 2018 18:37:13 +0000 (13:37 -0500)]
Add operator= to IntType, commented out

https://github.com/harfbuzz/harfbuzz/pull/1510

5 years ago[iter] Minor
Behdad Esfahbod [Mon, 31 Dec 2018 01:58:25 +0000 (20:58 -0500)]
[iter] Minor

5 years ago[iter] Make is_random_access_iterator a constant
Behdad Esfahbod [Mon, 31 Dec 2018 01:51:31 +0000 (20:51 -0500)]
[iter] Make is_random_access_iterator a constant

We cannot rely on constexpr functions...

5 years agoSeparate GlyphID from HBUINT16
Behdad Esfahbod [Mon, 31 Dec 2018 01:24:21 +0000 (20:24 -0500)]
Separate GlyphID from HBUINT16

For stricter enforcement.

5 years ago[iter] Fix sorted_iter iter class
Behdad Esfahbod [Mon, 31 Dec 2018 01:06:12 +0000 (20:06 -0500)]
[iter] Fix sorted_iter iter class

5 years ago[iter/meta] Add hb_is_sorted_iterator()
Behdad Esfahbod [Mon, 31 Dec 2018 00:12:06 +0000 (19:12 -0500)]
[iter/meta] Add hb_is_sorted_iterator()

5 years ago[iter] Remove stale comment
Behdad Esfahbod [Mon, 31 Dec 2018 00:10:26 +0000 (19:10 -0500)]
[iter] Remove stale comment

5 years ago[iter] Port Coverage towards iter_t instead of array_t specifics
Behdad Esfahbod [Mon, 31 Dec 2018 00:06:47 +0000 (19:06 -0500)]
[iter] Port Coverage towards iter_t instead of array_t specifics

5 years ago[meta] Move typename around
Behdad Esfahbod [Sun, 30 Dec 2018 23:54:07 +0000 (18:54 -0500)]
[meta] Move typename around

We'll see if bots like.

5 years ago[meta] Move code around
Behdad Esfahbod [Sun, 30 Dec 2018 23:49:34 +0000 (18:49 -0500)]
[meta] Move code around

5 years ago[iter] WHitespace
Behdad Esfahbod [Sun, 30 Dec 2018 23:47:47 +0000 (18:47 -0500)]
[iter] WHitespace

5 years ago[iter] Port Coverage::serialize to hb_is_iterator
Behdad Esfahbod [Sun, 30 Dec 2018 23:45:50 +0000 (18:45 -0500)]
[iter] Port Coverage::serialize to hb_is_iterator

5 years ago[iter/meta] Match hb_is_iterator<> using SFINAE
Behdad Esfahbod [Sun, 30 Dec 2018 23:42:14 +0000 (18:42 -0500)]
[iter/meta] Match hb_is_iterator<> using SFINAE

By specifying Item type, which is desirable.

5 years agoMinor
Behdad Esfahbod [Sun, 30 Dec 2018 22:54:24 +0000 (17:54 -0500)]
Minor

5 years agoUse C++11 when available
Behdad Esfahbod [Sun, 30 Dec 2018 17:01:13 +0000 (12:01 -0500)]
Use C++11 when available

5 years ago[ci] Remove unused config for gcc 4.2
Behdad Esfahbod [Sun, 30 Dec 2018 16:22:16 +0000 (11:22 -0500)]
[ci] Remove unused config for gcc 4.2

[skip ci]

5 years ago[ci] Disable other gcc 4.2 bot
Behdad Esfahbod [Sun, 30 Dec 2018 16:16:14 +0000 (11:16 -0500)]
[ci] Disable other gcc 4.2 bot

5 years ago[iter] Add back operator +
Behdad Esfahbod [Sun, 30 Dec 2018 07:11:03 +0000 (02:11 -0500)]
[iter] Add back operator +

Too ugly to remove..

5 years ago[iter] Disable operator +
Behdad Esfahbod [Sun, 30 Dec 2018 06:40:08 +0000 (01:40 -0500)]
[iter] Disable operator +

To see if it makes bots happy... This is frustrating.

5 years ago[iter] Revert back uses of C++11 auto type deduction
Behdad Esfahbod [Sat, 29 Dec 2018 02:23:26 +0000 (21:23 -0500)]
[iter] Revert back uses of C++11 auto type deduction

5 years ago[iter] Rename
Behdad Esfahbod [Sat, 29 Dec 2018 02:22:26 +0000 (21:22 -0500)]
[iter] Rename

5 years ago[iter] Remove friend operator +, hoping to fix some bots
Behdad Esfahbod [Sat, 29 Dec 2018 02:09:15 +0000 (21:09 -0500)]
[iter] Remove friend operator +, hoping to fix some bots

5 years agoUse Null() instead of declval(), hoping to fix some bots
Behdad Esfahbod [Sat, 29 Dec 2018 01:16:44 +0000 (20:16 -0500)]
Use Null() instead of declval(), hoping to fix some bots

5 years ago[meta] Don't use template default arguments for functions
Behdad Esfahbod [Sat, 29 Dec 2018 01:01:57 +0000 (20:01 -0500)]
[meta] Don't use template default arguments for functions

That's a C++11 extension apparently...

5 years ago[meta] Fix unused-function-template warning
Behdad Esfahbod [Fri, 28 Dec 2018 21:41:04 +0000 (16:41 -0500)]
[meta] Fix unused-function-template warning

5 years ago[iter/meta] Implement is_iterator
Behdad Esfahbod [Fri, 28 Dec 2018 21:29:48 +0000 (16:29 -0500)]
[iter/meta] Implement is_iterator

Removes use of auto type deduction again, which was not supported on many bots.

5 years ago[meta] Minor
Behdad Esfahbod [Fri, 28 Dec 2018 19:40:30 +0000 (14:40 -0500)]
[meta] Minor

5 years ago[meta] Move more code here
Behdad Esfahbod [Fri, 28 Dec 2018 19:34:00 +0000 (14:34 -0500)]
[meta] Move more code here

5 years ago[iter/meta] Add hb_is_iterable
Behdad Esfahbod [Fri, 28 Dec 2018 19:29:09 +0000 (14:29 -0500)]
[iter/meta] Add hb_is_iterable

5 years agoDon't use delegating constructors
Behdad Esfahbod [Thu, 27 Dec 2018 23:39:39 +0000 (18:39 -0500)]
Don't use delegating constructors

Not all C++11 features are created equal when it comes to support...

5 years ago[meta] Add enable_if
Behdad Esfahbod [Thu, 27 Dec 2018 22:38:26 +0000 (17:38 -0500)]
[meta] Add enable_if

5 years agoAdd hb-meta.hh for meta-programming
Behdad Esfahbod [Thu, 27 Dec 2018 22:23:12 +0000 (17:23 -0500)]
Add hb-meta.hh for meta-programming

5 years ago[iter] Clarify readonly vs lvalue iterators
Behdad Esfahbod [Thu, 27 Dec 2018 22:17:28 +0000 (17:17 -0500)]
[iter] Clarify readonly vs lvalue iterators

lvalue iterators must declare __item_type__ as a reference.

5 years ago[iter] Test OT::Coverage iter
Behdad Esfahbod [Thu, 27 Dec 2018 21:55:18 +0000 (16:55 -0500)]
[iter] Test OT::Coverage iter

5 years ago[iter] Streamline vector iterators
Behdad Esfahbod [Thu, 27 Dec 2018 21:29:22 +0000 (16:29 -0500)]
[iter] Streamline vector iterators

5 years ago[iter] Make hb_sorted_array_t work as iter
Behdad Esfahbod [Thu, 27 Dec 2018 18:29:51 +0000 (13:29 -0500)]
[iter] Make hb_sorted_array_t work as iter

Ugly, but does the job.

5 years agoChange hb_void_t implementation
Behdad Esfahbod [Thu, 27 Dec 2018 14:56:41 +0000 (09:56 -0500)]
Change hb_void_t implementation

5 years ago[iter] Mark Coverage iterator sorted
Behdad Esfahbod [Thu, 27 Dec 2018 14:39:34 +0000 (09:39 -0500)]
[iter] Mark Coverage iterator sorted

5 years ago[subset] Take iterator in ArrayOf serialize
Behdad Esfahbod [Thu, 27 Dec 2018 03:50:33 +0000 (22:50 -0500)]
[subset] Take iterator in ArrayOf serialize

Still not satisfied with how I can enforce iterators only, but
seems to work for now.

5 years ago[iter] Port Coverage iterator to hb_iter_t
Behdad Esfahbod [Thu, 27 Dec 2018 03:27:23 +0000 (22:27 -0500)]
[iter] Port Coverage iterator to hb_iter_t

5 years agoAdd hb_pair_t<> and hb_pair()
Behdad Esfahbod [Thu, 27 Dec 2018 03:21:58 +0000 (22:21 -0500)]
Add hb_pair_t<> and hb_pair()

5 years ago[Coverage] Ensure increasing coverage in iteration
Behdad Esfahbod [Thu, 27 Dec 2018 03:08:54 +0000 (22:08 -0500)]
[Coverage] Ensure increasing coverage in iteration

5 years ago[Coverage] Mark iterator methods const
Behdad Esfahbod [Thu, 27 Dec 2018 03:05:25 +0000 (22:05 -0500)]
[Coverage] Mark iterator methods const

5 years ago[iter] Use operator bool in a few places
Behdad Esfahbod [Thu, 27 Dec 2018 01:28:41 +0000 (20:28 -0500)]
[iter] Use operator bool in a few places

5 years ago[iter] Remove redundant methods
Behdad Esfahbod [Thu, 27 Dec 2018 01:06:10 +0000 (20:06 -0500)]
[iter] Remove redundant methods

5 years ago[iter] Test default-constructability
Behdad Esfahbod [Thu, 27 Dec 2018 00:56:37 +0000 (19:56 -0500)]
[iter] Test default-constructability

5 years ago[iter] Implement friend opeator + (int, iter)
Behdad Esfahbod [Thu, 27 Dec 2018 00:54:52 +0000 (19:54 -0500)]
[iter] Implement friend opeator + (int, iter)

5 years ago[iter] Remove const_iter
Behdad Esfahbod [Thu, 27 Dec 2018 00:49:13 +0000 (19:49 -0500)]
[iter] Remove const_iter

5 years ago[ci] Disable macos-llvm-gcc-4.2 again
Behdad Esfahbod [Thu, 27 Dec 2018 00:15:21 +0000 (19:15 -0500)]
[ci] Disable macos-llvm-gcc-4.2 again

Not C++11.

5 years ago[iter] Remove hack for older compilers
Behdad Esfahbod [Thu, 27 Dec 2018 00:14:39 +0000 (19:14 -0500)]
[iter] Remove hack for older compilers

5 years ago[iter] Minor
Behdad Esfahbod [Thu, 27 Dec 2018 00:01:46 +0000 (19:01 -0500)]
[iter] Minor

5 years ago[iter] Rename random_access() to constexpr is_random_access()
Behdad Esfahbod [Thu, 27 Dec 2018 00:01:30 +0000 (19:01 -0500)]
[iter] Rename random_access() to constexpr is_random_access()

5 years ago[iter] Add operator ->
Behdad Esfahbod [Wed, 26 Dec 2018 23:58:42 +0000 (18:58 -0500)]
[iter] Add operator ->

5 years ago[iter] Make them work, mostly
Behdad Esfahbod [Wed, 26 Dec 2018 23:54:27 +0000 (18:54 -0500)]
[iter] Make them work, mostly

5 years ago[vector] Add iterator
Behdad Esfahbod [Wed, 26 Dec 2018 23:54:15 +0000 (18:54 -0500)]
[vector] Add iterator

5 years agoRemove wrongly added files
Behdad Esfahbod [Mon, 21 Jan 2019 01:09:10 +0000 (20:09 -0500)]
Remove wrongly added files

5 years agoUse enum for class constant
Behdad Esfahbod [Mon, 21 Jan 2019 00:51:08 +0000 (19:51 -0500)]
Use enum for class constant

5 years ago[CFF] Use enum for tableTag
Behdad Esfahbod [Mon, 21 Jan 2019 00:49:59 +0000 (19:49 -0500)]
[CFF] Use enum for tableTag