platform/upstream/libHarfBuzzSharp.git
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

5 years agoUse static constexpr for large class constants
Behdad Esfahbod [Mon, 21 Jan 2019 00:47:52 +0000 (19:47 -0500)]
Use static constexpr for large class constants

5 years agoFix sign compare warnings
Behdad Esfahbod [Sat, 19 Jan 2019 14:20:46 +0000 (09:20 -0500)]
Fix sign compare warnings

../../third_party/harfbuzz-ng/src/src/hb-map.hh(56,45):  warning: comparison of integers of different signs: 'const hb_codepoint_t' (aka 'const unsigned int') and 'hb_map_t::(anonymous enum at ../../third_party/harfbuzz-ng/src/src/hb-map.hh:169:3)' [-Wsign-compare]
    bool is_unused () const    { return key == INVALID; }

5 years agoFix warning
Behdad Esfahbod [Sat, 19 Jan 2019 14:18:03 +0000 (09:18 -0500)]
Fix warning

warning: '_WIN64' is not defined, evaluates to 0 [-Wundef]

5 years ago[dwrite] Fix delete-non-virtual-dtor warning (#1550)
Ebrahim Byagowi [Sat, 19 Jan 2019 13:00:07 +0000 (16:30 +0330)]
[dwrite] Fix delete-non-virtual-dtor warning (#1550)

5 years agoRemove TRACE_COLLECT_GLYPHS
Behdad Esfahbod [Fri, 18 Jan 2019 19:59:18 +0000 (14:59 -0500)]
Remove TRACE_COLLECT_GLYPHS

5 years ago[pragma] Only add if GCC or clang
Behdad Esfahbod [Fri, 18 Jan 2019 19:53:54 +0000 (14:53 -0500)]
[pragma] Only add if GCC or clang

5 years ago[directwrite] More fix
Behdad Esfahbod [Fri, 18 Jan 2019 18:45:33 +0000 (13:45 -0500)]
[directwrite] More fix

5 years ago[dwrite] Try to fix delete-non-virtual-dtor warnings
Ebrahim Byagowi [Fri, 18 Jan 2019 18:25:21 +0000 (21:55 +0330)]
[dwrite] Try to fix delete-non-virtual-dtor warnings

Fixes #1548 hopefully

5 years agoRemove tracing from closure
Behdad Esfahbod [Fri, 18 Jan 2019 17:53:06 +0000 (12:53 -0500)]
Remove tracing from closure

5 years agoFix -Wundef errors with __GNUC__
Behdad Esfahbod [Fri, 18 Jan 2019 17:48:01 +0000 (12:48 -0500)]
Fix -Wundef errors with __GNUC__

Fixes https://github.com/harfbuzz/harfbuzz/issues/1549

5 years agoinit interp_env_t::hintmask_size
Michiharu Ariza [Fri, 18 Jan 2019 17:43:51 +0000 (09:43 -0800)]
init interp_env_t::hintmask_size

fixes issue #1547

5 years ago[pragma] Enable error -Wdelete-non-virtual-dtor
Behdad Esfahbod [Fri, 18 Jan 2019 17:23:02 +0000 (12:23 -0500)]
[pragma] Enable error -Wdelete-non-virtual-dtor

Currently fails directwrite backend.

5 years ago[directwrite] Fix error
Behdad Esfahbod [Fri, 18 Jan 2019 17:22:07 +0000 (12:22 -0500)]
[directwrite] Fix error

hb-directwrite.cc: In constructor 'TextAnalysis::TextAnalysis(const wchar_t*, uint32_t, const wchar_t*, DWRITE_READING_DIRECTION)':
hb-directwrite.cc:489:18: error: 'TextAnalysis::mText' will be initialized after [-Werror=reorder]
   const wchar_t* mText;
                  ^~~~~
hb-directwrite.cc:488:12: error:   'uint32_t TextAnalysis::mTextLength' [-Werror=reorder]
   uint32_t mTextLength;
            ^~~~~~~~~~~
hb-directwrite.cc:282:3: error:   when initialized here [-Werror=reorder]
   TextAnalysis (const wchar_t* text, uint32_t textLength,
   ^~~~~~~~~~~~
hb-directwrite.cc: In function 'hb_bool_t _hb_directwrite_shape_full(hb_shape_plan_t*, hb_font_t*, hb_buffer_t*, const hb_feature_t*, unsigned int, float)':

5 years ago[pragma] More cast-align whitelist
Behdad Esfahbod [Fri, 18 Jan 2019 15:08:23 +0000 (10:08 -0500)]
[pragma] More cast-align whitelist

5 years ago[pragma] Allow cast-align in hb-font.cc
Behdad Esfahbod [Fri, 18 Jan 2019 15:03:43 +0000 (10:03 -0500)]
[pragma] Allow cast-align in hb-font.cc

../src/hb-machinery.hh: In instantiation of 'const Type& StructAtOffset(const void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:144:85:   required from here
../src/hb-machinery.hh:63:12: error: cast from 'const char*' to 'const unsigned int*' increases required alignment of target type [-Werror=cast-align]
 { return * reinterpret_cast<const Type*> ((const char *) P + offset); }
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:145:79:   required from here
../src/hb-machinery.hh:66:12: error: cast from 'char*' to 'unsigned int*' increases required alignment of target type [-Werror=cast-align]
 { return * reinterpret_cast<Type*> ((char *) P + offset); }
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = int]':

5 years ago[pragma] GCC diagnostic error "-Wreorder"
Behdad Esfahbod [Fri, 18 Jan 2019 14:59:36 +0000 (09:59 -0500)]
[pragma] GCC diagnostic error   "-Wreorder"

5 years ago[pragma] GCC diagnostic warning "-Wmaybe-uninitialized"
Behdad Esfahbod [Fri, 18 Jan 2019 14:53:16 +0000 (09:53 -0500)]
[pragma] GCC diagnostic warning "-Wmaybe-uninitialized"

5 years ago[pragma] Massage more
Behdad Esfahbod [Fri, 18 Jan 2019 14:49:14 +0000 (09:49 -0500)]
[pragma] Massage more

5 years ago[pragma] More
Behdad Esfahbod [Fri, 18 Jan 2019 14:46:17 +0000 (09:46 -0500)]
[pragma] More

5 years ago[pragma] Reorg again
Behdad Esfahbod [Fri, 18 Jan 2019 14:28:22 +0000 (09:28 -0500)]
[pragma] Reorg again

https://github.com/harfbuzz/harfbuzz/issues/1546

5 years ago[pragma] GCC diagnostic ignored "-Wunknown-warning-option"
Behdad Esfahbod [Fri, 18 Jan 2019 13:49:45 +0000 (08:49 -0500)]
[pragma] GCC diagnostic ignored "-Wunknown-warning-option"

Try at fixing https://github.com/harfbuzz/harfbuzz/issues/1546

5 years ago[uniscribe] More warnings
Behdad Esfahbod [Fri, 18 Jan 2019 00:58:54 +0000 (19:58 -0500)]
[uniscribe] More warnings

5 years ago[uniscribe] Fix warnings
Behdad Esfahbod [Fri, 18 Jan 2019 00:57:17 +0000 (19:57 -0500)]
[uniscribe] Fix warnings

5 years agoFix build
Behdad Esfahbod [Fri, 18 Jan 2019 00:52:32 +0000 (19:52 -0500)]
Fix build

5 years ago[pragma] GCC diagnostic ignored "-Wclass-memaccess"
Behdad Esfahbod [Fri, 18 Jan 2019 00:33:41 +0000 (19:33 -0500)]
[pragma] GCC diagnostic ignored "-Wclass-memaccess"

5 years ago[ci] Remove unnecessary warning declarations
Behdad Esfahbod [Fri, 18 Jan 2019 00:12:07 +0000 (19:12 -0500)]
[ci] Remove unnecessary warning declarations

clang -Weverything still left to be ported to pragmas

5 years ago[pragma] ignored -Wunsafe-loop-optimizations // TODO fix
Behdad Esfahbod [Fri, 18 Jan 2019 00:03:33 +0000 (19:03 -0500)]
[pragma] ignored -Wunsafe-loop-optimizations // TODO fix

5 years ago[pragma] error -Wclass-memaccess
Behdad Esfahbod [Fri, 18 Jan 2019 00:02:06 +0000 (19:02 -0500)]
[pragma] error -Wclass-memaccess

5 years ago[pragma] More
Behdad Esfahbod [Thu, 17 Jan 2019 23:55:03 +0000 (18:55 -0500)]
[pragma] More

5 years ago[pragma] More
Behdad Esfahbod [Thu, 17 Jan 2019 23:47:32 +0000 (18:47 -0500)]
[pragma] More

5 years ago[pragma] Flesh out more
Behdad Esfahbod [Thu, 17 Jan 2019 23:36:10 +0000 (18:36 -0500)]
[pragma] Flesh out more

5 years agoUse NNOffsetTo<> in rest of places
Behdad Esfahbod [Thu, 17 Jan 2019 23:24:18 +0000 (18:24 -0500)]
Use NNOffsetTo<> in rest of places

5 years agoUse NNOffsetTo<>
Behdad Esfahbod [Thu, 17 Jan 2019 23:17:04 +0000 (18:17 -0500)]
Use NNOffsetTo<>

5 years agoAdd NNOffsetTo<>
Behdad Esfahbod [Thu, 17 Jan 2019 23:10:38 +0000 (18:10 -0500)]
Add NNOffsetTo<>

5 years ago[AAT] Comment
Behdad Esfahbod [Thu, 17 Jan 2019 22:56:27 +0000 (17:56 -0500)]
[AAT] Comment

5 years agoComment
Behdad Esfahbod [Thu, 17 Jan 2019 22:49:55 +0000 (17:49 -0500)]
Comment

5 years ago[AAT] Remove unused code
Behdad Esfahbod [Thu, 17 Jan 2019 22:47:29 +0000 (17:47 -0500)]
[AAT] Remove unused code

5 years ago[AAT] Allow null in ankr lookupTable offset
Behdad Esfahbod [Thu, 17 Jan 2019 22:44:39 +0000 (17:44 -0500)]
[AAT] Allow null in ankr lookupTable offset

5 years ago[pragma GCC] Ignore -Wtype-limits
Behdad Esfahbod [Thu, 17 Jan 2019 22:42:44 +0000 (17:42 -0500)]
[pragma GCC] Ignore -Wtype-limits

5 years ago[ci] Remove -Werror from Travis
Behdad Esfahbod [Thu, 17 Jan 2019 21:07:27 +0000 (16:07 -0500)]
[ci] Remove -Werror from Travis

hb-machinery.hh:111:37: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]

Also ignore -Wtype-limits.

5 years agoMore GCC pragmas
Behdad Esfahbod [Thu, 17 Jan 2019 20:27:31 +0000 (15:27 -0500)]
More GCC pragmas

5 years agoRename macro
Behdad Esfahbod [Thu, 17 Jan 2019 20:22:46 +0000 (15:22 -0500)]
Rename macro

5 years agoAdd more GCC warning pragmas
Behdad Esfahbod [Thu, 17 Jan 2019 20:22:28 +0000 (15:22 -0500)]
Add more GCC warning pragmas

5 years agoMove -Wcast-align to hb.hh
Behdad Esfahbod [Thu, 17 Jan 2019 20:08:36 +0000 (15:08 -0500)]
Move -Wcast-align to hb.hh

5 years agoAdd pragram GCC diagnostic ignored "-Wunused-macros"
Behdad Esfahbod [Thu, 17 Jan 2019 20:04:44 +0000 (15:04 -0500)]
Add pragram GCC diagnostic ignored "-Wunused-macros"

5 years ago[AAT] Fully sanitize ankr table at sanitize time
Behdad Esfahbod [Thu, 17 Jan 2019 19:54:32 +0000 (14:54 -0500)]
[AAT] Fully sanitize ankr table at sanitize time

Third try to fix access. Followup 6879efc2c1596d11a6a6ad296f80063b558d5e0f

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12532
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=922303

5 years ago[AAT] Fix anchor bound checking, again
Behdad Esfahbod [Thu, 17 Jan 2019 19:06:37 +0000 (14:06 -0500)]
[AAT] Fix anchor bound checking, again

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12532
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=922303

5 years ago[aat] Minor
Behdad Esfahbod [Thu, 17 Jan 2019 19:06:32 +0000 (14:06 -0500)]
[aat] Minor

5 years agoImprove overflow avoidance
Behdad Esfahbod [Tue, 15 Jan 2019 18:58:19 +0000 (13:58 -0500)]
Improve overflow avoidance

Better fix for 480406cd3ef9e5ab8476ddfa04498bf23906c508
This way we behave the same on 32bit and 64bit archs.

5 years agofix FDSelect fuzzing bug (#1539)
Behdad Esfahbod [Tue, 15 Jan 2019 02:23:17 +0000 (18:23 -0800)]
fix FDSelect fuzzing bug (#1539)

Rewrote struct FDSelect3_4.ranges as ArrayOf
Updated FDSelect3_4::sanitize () to call ranges.sanitize ()
nRanges now a function to return a reference to ranges.len

5 years agoMove _POSIX_SOURCE definition
Behdad Esfahbod [Tue, 15 Jan 2019 01:45:31 +0000 (20:45 -0500)]
Move _POSIX_SOURCE definition

Fixes https://github.com/harfbuzz/harfbuzz/issues/1308

5 years ago[test] Add test for previous commit
Behdad Esfahbod [Mon, 14 Jan 2019 20:31:31 +0000 (15:31 -0500)]
[test] Add test for previous commit

5 years agoFix assertion on address overflow
Behdad Esfahbod [Mon, 14 Jan 2019 20:27:34 +0000 (15:27 -0500)]
Fix assertion on address overflow

Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=917031

5 years ago[AAT] Fix mort ContextualSubtable offset access
Behdad Esfahbod [Mon, 14 Jan 2019 20:09:14 +0000 (15:09 -0500)]
[AAT] Fix mort ContextualSubtable offset access

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12312

5 years ago[AAT] Fix ankr table access
Behdad Esfahbod [Mon, 14 Jan 2019 19:37:36 +0000 (14:37 -0500)]
[AAT] Fix ankr table access

Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=918340

5 years agodeleted a duplicate fontdicts_mod.fini() call (#1538)
Michiharu Ariza [Fri, 11 Jan 2019 23:27:35 +0000 (15:27 -0800)]
deleted a duplicate fontdicts_mod.fini() call (#1538)

5 years agoAdd an initial .clang-format config
Ebrahim Byagowi [Wed, 9 Jan 2019 12:31:11 +0000 (16:01 +0330)]
Add an initial .clang-format config

There are things can be improved on clang-format side I guess before
the full assertion, but is the best we can get for now I guess.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1536

5 years agoMinor, hack .editorconfig for vscode use
Ebrahim Byagowi [Wed, 9 Jan 2019 12:26:32 +0000 (15:56 +0330)]
Minor, hack .editorconfig for vscode use

As VSCode and Atom https://github.com/Microsoft/vscode/issues/44438 don't support it

5 years agofix leak in subset_enc_supp_codes (#1537)
Michiharu Ariza [Tue, 8 Jan 2019 20:37:48 +0000 (12:37 -0800)]
fix leak in subset_enc_supp_codes (#1537)

oss-fuzz issue 12310

5 years ago[ci] Enable more of GCC compile warnings (#1533)
Ebrahim Byagowi [Fri, 4 Jan 2019 19:40:39 +0000 (23:10 +0330)]
[ci] Enable more of GCC compile warnings (#1533)

5 years agoUsermanual: small formatting and wording fixes.
Nathan Willis [Mon, 3 Dec 2018 18:49:44 +0000 (12:49 -0600)]
Usermanual: small formatting and wording fixes.

5 years agoUsermanual: small updates.
Nathan Willis [Wed, 28 Nov 2018 19:48:38 +0000 (13:48 -0600)]
Usermanual: small updates.

5 years agoCircleCI: Test for Python 3 syntax errors and undefined names (#1522)
cclauss [Mon, 31 Dec 2018 03:30:43 +0000 (04:30 +0100)]
CircleCI: Test for Python 3 syntax errors and undefined names (#1522)

Catch missing imports and errors like #1520 and #1521

__E901,E999,F821,F822,F823__ are the "_showstopper_" [flake8](http://flake8.pycqa.org) issues that can halt the runtime with a SyntaxError, NameError, etc. Most other flake8 issues are merely "style violations" -- useful for readability but they do not effect runtime safety.
* F821: undefined name `name`
* F822: undefined name `name` in `__all__`
* F823: local variable name referenced before assignment
* E901: SyntaxError or IndentationError
* E999: SyntaxError -- failed to compile a file into an Abstract Syntax Tree

5 years agoFix automake warnings
Behdad Esfahbod [Sun, 30 Dec 2018 16:27:42 +0000 (11:27 -0500)]
Fix automake warnings

[skip ci]

5 years agoprint() is a function in Python 3 (#1520)
cclauss [Sun, 30 Dec 2018 12:07:28 +0000 (13:07 +0100)]
print() is a function in Python 3 (#1520)

5 years agoPython 3 fixes to gen-os2-unicode-ranges.py (#1521)
cclauss [Sun, 30 Dec 2018 11:58:34 +0000 (12:58 +0100)]
Python 3 fixes to gen-os2-unicode-ranges.py (#1521)

In Python 3, __reload()__ was moved and __sys.setdefaultencoding()__ because the default is already utf-8.  Also __Error()__ is an _undefined name_ and __Exception()__ creates a generic exception.

5 years ago[cmake] Enable C++11 on CMake (#1519)
Ebrahim Byagowi [Sun, 30 Dec 2018 06:53:47 +0000 (10:23 +0330)]
[cmake] Enable C++11 on CMake (#1519)

5 years agoOuch! Fix build on C++<11
Behdad Esfahbod [Sun, 30 Dec 2018 06:53:03 +0000 (01:53 -0500)]
Ouch! Fix build on C++<11

5 years agoFix ubsan with passing nullptr to qsort()
Behdad Esfahbod [Sun, 30 Dec 2018 06:52:19 +0000 (01:52 -0500)]
Fix ubsan with passing nullptr to qsort()

5 years agoFix build on C++ < 11
Behdad Esfahbod [Thu, 27 Dec 2018 23:29:23 +0000 (18:29 -0500)]
Fix build on C++ < 11

5 years ago[vector] Fix warning
Behdad Esfahbod [Thu, 27 Dec 2018 23:27:36 +0000 (18:27 -0500)]
[vector] Fix warning

5 years ago[aat] Minor
Behdad Esfahbod [Thu, 27 Dec 2018 23:27:11 +0000 (18:27 -0500)]
[aat] Minor

5 years ago[vector] Remove use of arrayZ() by using casts
Behdad Esfahbod [Thu, 27 Dec 2018 23:01:06 +0000 (18:01 -0500)]
[vector] Remove use of arrayZ() by using casts

5 years ago[vector] Remove static_array
Behdad Esfahbod [Thu, 27 Dec 2018 22:56:22 +0000 (17:56 -0500)]
[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...

5 years ago[vector] Use allocated = -1 to signify failure
Behdad Esfahbod [Thu, 27 Dec 2018 22:45:05 +0000 (17:45 -0500)]
[vector] Use allocated = -1 to signify failure

5 years agofix lealk with cff2::accelerator_templ_t::topDict (#1517)
Michiharu Ariza [Thu, 27 Dec 2018 16:33:09 +0000 (08:33 -0800)]
fix lealk with cff2::accelerator_templ_t::topDict (#1517)

5 years ago[vector] Change pre-alloced count from 8 to 2
Behdad Esfahbod [Mon, 24 Dec 2018 16:31:04 +0000 (11:31 -0500)]
[vector] Change pre-alloced count from 8 to 2

I'm thinking about dropping it to zero, but that needs slight code changes.

5 years agoFix a few warnings
Behdad Esfahbod [Mon, 24 Dec 2018 01:19:52 +0000 (20:19 -0500)]
Fix a few warnings

5 years ago[iter] Fix warning
Behdad Esfahbod [Sat, 22 Dec 2018 21:19:10 +0000 (16:19 -0500)]
[iter] Fix warning

5 years ago[set] Add iter_t as alias to const_iter_t
Behdad Esfahbod [Sat, 22 Dec 2018 21:11:22 +0000 (16:11 -0500)]
[set] Add iter_t as alias to const_iter_t

5 years ago[set] Change to const_iter
Behdad Esfahbod [Sat, 22 Dec 2018 20:10:18 +0000 (15:10 -0500)]
[set] Change to const_iter

5 years ago[set] Cache length in iterator
Behdad Esfahbod [Sat, 22 Dec 2018 16:11:10 +0000 (11:11 -0500)]
[set] Cache length in iterator

5 years agoMinor, remove redundant inline
Ebrahim Byagowi [Sat, 22 Dec 2018 16:17:48 +0000 (19:47 +0330)]
Minor, remove redundant inline

5 years agoMinor, tweak spaces
Ebrahim Byagowi [Sat, 22 Dec 2018 16:17:29 +0000 (19:47 +0330)]
Minor, tweak spaces

5 years agoCFF renaming (#1507)
Michiharu Ariza [Sat, 22 Dec 2018 15:47:04 +0000 (07:47 -0800)]
CFF renaming (#1507)

* reimplement ByteStr as byte_str_t based on hb_ubytes_t

Unuse start_embed<ByteStr>
Also renamed SubByteStr to byte_str_ref_t
More renaming to come

* substr renamed to str_ref in line with its type byte_str_ref_t

* uncamelize non-table struct names

* uncamelized non-struct types OpCode etc

* add byte_str_t copy ctor

* test

* test2

* undo tests

* fix bot failure

* undo the previous change

* fixed tabs, added inline

* Revert "fixed tabs, added inline"

This reverts commit 21163c30e9d18759414f7fe2518628241599f039.

* fix tabs

5 years ago[set] Actually derive iterator from hb_sorted_iter_t<>
Behdad Esfahbod [Sat, 22 Dec 2018 01:07:52 +0000 (20:07 -0500)]
[set] Actually derive iterator from hb_sorted_iter_t<>

5 years ago[set] Implement unified iterator
Behdad Esfahbod [Sat, 22 Dec 2018 01:06:17 +0000 (20:06 -0500)]
[set] Implement unified iterator

5 years ago[set] Mark some internals protected
Behdad Esfahbod [Sat, 22 Dec 2018 01:00:52 +0000 (20:00 -0500)]
[set] Mark some internals protected

5 years ago[iter] Add hb_sorted_iter_t<>
Behdad Esfahbod [Sat, 22 Dec 2018 00:55:02 +0000 (19:55 -0500)]
[iter] Add hb_sorted_iter_t<>

5 years ago[iter] Change operator[] operand to be signed
Behdad Esfahbod [Sat, 22 Dec 2018 00:48:21 +0000 (19:48 -0500)]
[iter] Change operator[] operand to be signed

To fix older compilers again (this was the case in hb_array_t).

hb-ot-layout-common.hh:1353: note: candidate 2: operator[](T*, int) <built-in>
hb-ot-layout-common.hh:1354: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-iter.hh:63: note: candidate 1: Item& hb_iter_t<Iter, Item>::operator[](unsigned int) const [with Iter = hb_array_t<const OT::IntType<short unsigned int, 2u> >, Item = const OT::IntType<short unsigned int, 2u>]
hb-ot-layout-common.hh:1354: note: candidate 2: operator[](T*, int) <built-in>
hb-ot-layout-common.hh: In member function 'bool OT::ClassDef::serialize(hb_serialize_context_t*, hb_array_t<const OT::IntType<short unsigned int, 2u> >, hb_array_t<const OT::IntType<short unsigned int, 2u> >)':
hb-ot-layout-common.hh:1490: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-iter.hh:63: note: candidate 1: Item& hb_iter_t<Iter, Item>::operator[](unsigned int) const [with Iter = hb_array_t<const OT::IntType<short unsigned int, 2u> >, Item = const OT::IntType<short unsigned int, 2u>]
hb-ot-layout-common.hh:1490: note: candidate 2: operator[](T*, int) <built-in>

5 years ago[array] Port to hb_iter_t<>
Behdad Esfahbod [Sat, 22 Dec 2018 00:29:00 +0000 (19:29 -0500)]
[array] Port to hb_iter_t<>

hb_array_t is its own iterator...

5 years ago[iter] Change __more__ to fallback to __len__
Behdad Esfahbod [Fri, 21 Dec 2018 23:49:27 +0000 (18:49 -0500)]
[iter] Change __more__ to fallback to __len__

5 years ago[array/vector] Rename len to length
Behdad Esfahbod [Fri, 21 Dec 2018 23:46:51 +0000 (18:46 -0500)]
[array/vector] Rename len to length