Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 0dc0da05 | 2022-07-06 12:33:37 | [iter] Add hb_is_sorted_iterator(_of) | ||
| e1575f23 | 2022-06-10 07:41:39 | [iter] Remove a few TODO items | ||
| 8a69e006 | 2022-01-13 16:17:34 | [meta] Use std::addressof() instead of hb_addressof() | ||
| b7b0a15f | 2022-01-13 15:33:27 | [meta] Remove hb_add_const | ||
| 909dde9d | 2022-01-13 15:30:10 | [meta] Use std::is_reference instead of hb_is_reference | ||
| 071aea42 | 2021-11-30 16:16:06 | [iter] add specialized implementation for hb_concat forward when iterators are not random access. | ||
| 2e935514 | 2021-11-30 16:02:05 | [iter] fix forward implementation in hb_concat(). Add test coverage for forward. | ||
| ca227411 | 2021-11-30 12:53:15 | [iter] add hb_concat (a, b). Iterates over a, and then over b. | ||
| 6d555ce8 | 2021-11-02 00:18:22 | [meta] Use std::forward instead of hb_forward() | ||
| bb48bf52 | 2021-07-08 10:53:45 | Rename misc uses of "free" In preparation for fixing https://github.com/harfbuzz/harfbuzz/issues/3044 | ||
| 5fce8898 | 2021-01-21 12:14:20 | [iter] Allow passing rvalue iters to hb_fill() | ||
| 9510e918 | 2019-09-01 16:25:33 | [iter] Partialize hb_zip() | ||
| c9eb913f | 2019-08-31 15:21:02 | [iter] Simplify hb_chop() | ||
| 67ec9fa9 | 2019-08-31 14:51:49 | [iter] Add hb_chop() | ||
| 5828d8e8 | 2019-08-31 14:36:44 | [iter] Add hb_take() specialization for arrays | ||
| 398b296f | 2019-08-31 12:44:24 | [iter] Add hb_len() | ||
| 875131d4 | 2019-08-31 12:42:52 | [iter] Add hb_take() | ||
| 1f88dae9 | 2019-08-31 12:24:42 | [iter] Make iota() accept invokable for increasing to next item | ||
| b1378d8a | 2019-08-30 12:10:45 | [iter] Add hb_repeat() | ||
| 966a18b9 | 2019-08-30 12:07:17 | [iter] Remove some && | ||
| de45775c | 2019-08-30 12:02:46 | [iter] Use hb_ridentity instead of lazy + | ||
| ce4d63be | 2019-08-30 11:59:50 | [iter] Separate hb_iota implementation from hb_range | ||
| 814dc3cb | 2019-08-30 10:20:30 | [iter] Rename Moving towards making iota useful for non-integers. | ||
| c72589f1 | 2019-08-29 15: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-24 17:57:14 | Turn 8 spaces to tab across the project According to the current code style of the project | ||
| 7bcc5dfa | 2019-07-28 20:55:50 | [iter] Fix accumulate to accept const types | ||
| 576065b4 | 2019-07-17 11:19:34 | [iter] Fix reduce type deduction | ||
| ebf47a95 | 2019-05-15 15: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-15 14:19:20 | [iter] Use default operators instead of redefining empty ones | ||
| 889dc1eb | 2019-05-14 22:28:07 | [iter] Remove sort categorization See comments. | ||
| 4d3cf2ad | 2019-05-13 17:25:07 | [iter] Fix zip iterator sortedness classification logic | ||
| 51376284 | 2019-05-13 15:36:14 | [iter] Track strictly-sorted iterators This make output of hb_enumerate() sorted regardless of input iterator. | ||
| 7e02063f | 2019-05-13 15:26:00 | [iter] Minor | ||
| e98f0ddd | 2019-05-13 13:53:06 | Fix extra semi-colon | ||
| 606841b0 | 2019-05-11 11:54:30 | [iter] Check for more before forwarding/rewinding past ends | ||
| c1c122e7 | 2019-05-11 11:38:06 | [iter] Fix filter rewinding | ||
| 79126df3 | 2019-05-11 11:23:31 | [iter] Add hb_map_sorted() and hb_map_retains_sorting() | ||
| 19e08a14 | 2019-05-10 21:25:07 | [iter] Adjust source_of/sink_of | ||
| 61d150c9 | 2019-05-10 20:06:31 | [meta] Add integral_constant, true_t -> true_type, false_t -> false_type | ||
| 98974ac1 | 2019-05-10 11:18:52 | [iter] Adjust is_source_of / is_sink_of There are two cases that we accept. Encode both. | ||
| ed972d5d | 2019-05-09 16: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-09 14:53:02 | [iter] Make hb_is_iterator_of() check is_convertible Instead of is_cr_convertible. | ||
| 4f2ad75a | 2019-05-09 12:07:45 | [enumerate] Fix hb_enumerate() len for step=0 | ||
| 5da3c9c3 | 2019-05-09 11: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-09 11:30:27 | [iter] Minor | ||
| 12dd56f8 | 2019-05-09 11:25:02 | [iter] Minor | ||
| 46837910 | 2019-05-09 11:20:41 | [iter] Allow negative step in hb_iota() | ||
| 087327af | 2019-05-09 11:14:06 | [iter] Minor | ||
| 64f0899a | 2019-05-09 11:10:31 | [iter] Bug fix | ||
| 5d263556 | 2019-05-09 11:08:25 | [iter] Fix | ||
| 2c24ea37 | 2019-05-09 11:07:38 | [iter] Take start value in hb_enumerate() Also rewrite it via composition. | ||
| 7675d0d3 | 2019-05-09 11: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-09 10:46:49 | [iota] end -> end_ to not shadow | ||
| 5875d775 | 2019-05-08 12:25:34 | [iter] Rename hb_iter_t() to hb_iter_type<> and add hb_item_type<> | ||
| cdb61eb0 | 2019-05-08 11:00:18 | [iter] Accept pointer in hb_iter() and hb_iter_t() | ||
| c93eeba9 | 2019-05-08 10:56:09 | [iter] Accept pointer in hb_map() | ||
| 50dc3e7d | 2019-05-08 10:35:02 | Add hb_iota() | ||
| aa4ac13f | 2019-05-08 10:02:30 | [iter] Actually fix previous commit The iter objects shouldn't not be const. D'oh. | ||
| a66598e0 | 2019-05-08 09:56:29 | [iter] For ref-qualified variants | ||
| 8479eb59 | 2019-05-08 09:48:55 | [iter] Fix hb_sink() to accept rvalue | ||
| 710d459a | 2019-05-08 09:33:09 | [iter] Default predicates to hb_identity instead of hb_bool The bool conversion happens after predicate is called automatically. | ||
| fe14a400 | 2019-05-08 09:32:19 | Adjust hb_all/any/none | ||
| bdbfdc92 | 2019-05-07 22: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-07 22:45:01 | [iter] Accept rvalues to hb_enumerate() | ||
| af571dbf | 2019-05-07 21: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-07 20:54:31 | Remove MIN/MAX in favor of hb_min/hb_max | ||
| 7654ebe3 | 2019-05-07 16:53:03 | Whitespace | ||
| c09d6c58 | 2019-05-07 14:09:00 | [iter] Require lvalue in operators that return reference | ||
| 8903040f | 2019-05-07 00:13:11 | Actually make it work | ||
| 025eaa3c | 2019-05-07 00:05:37 | [iter] Make filter/map copyable | ||
| 0b1ca5a1 | 2019-05-06 23:04:32 | [iter] Adjust hb_filter | ||
| 4c2fd05c | 2019-05-06 19:57:15 | [iter] Implement range-based for loops Part of https://github.com/harfbuzz/harfbuzz/issues/1648 | ||
| 92588782 | 2019-04-30 13:05:10 | Remove space between right angle brackets now that we have C++11 (#1689) | ||
| 73c82f23 | 2019-04-26 13:16:48 | [iter] Fix hb_is_iterator_of() to actually check item type | ||
| 714307cc | 2019-04-24 10:56:12 | [iter] Remove fixed TODO | ||
| ae8da4b6 | 2019-04-22 15:25:11 | Minor | ||
| 6916b778 | 2019-04-16 18:33:51 | One more auto return type | ||
| 54ece299 | 2019-04-16 16:45:53 | Use type aliasing for meta-functions, ie. those returning a type | ||
| b8e763fd | 2019-04-16 10:50:22 | [meta] Add hb_invoke() | ||
| a3fcb9a3 | 2019-04-16 10: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-15 17:36:09 | Fix copyright | ||
| 02d864aa | 2019-04-15 15:39:03 | Add HB_FUNCOBJ() Fixes https://github.com/harfbuzz/harfbuzz/issues/1651 | ||
| a98e4068 | 2019-04-12 22:42:44 | Revert "Hide symbols in hb-iter" This reverts commit 98f14c4cdb837a962083a6702f401d41b4c1ec5c. Same as previous commit. | ||
| 98f14c4c | 2019-04-12 18: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-03 15:31:53 | [iter] Tweak SFINAE again Don't think we need hb_is_same(). | ||
| d419a9a4 | 2019-04-03 14: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-02 18: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-02 18: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-02 00:30:06 | [iter] hb_reduce, accumulator with a different type | ||
| e526414c | 2019-03-31 12:41:58 | [iter] Implement hb_reduce | ||
| 78fc43f2 | 2019-03-31 19:17:07 | [iter] Fix up build, ouch Yeah, some things not very clear... | ||
| 8a8d45b9 | 2019-03-31 19:00:09 | [iter] Adjust hb_copy() and use it Untested. | ||
| 294d520f | 2019-03-30 13:58:22 | more iter changes from master | ||
| e5306927 | 2019-03-29 23:31:07 | [iter] Fix bug in hb_any() and hb_none() | ||
| d5145250 | 2019-03-29 22:48:12 | [iter] Remove more wrong &&'s Sigh... | ||
| 6237b47f | 2019-03-29 21:36:49 | [iter] Add hb_unzip() | ||
| 8e34cb25 | 2019-03-29 21:14:20 | [iter] Remove unneeded && Next commit needs this. I never fully get this, sigh. | ||
| 4c38a9f6 | 2019-03-29 20:23:07 | Remove hb_assign() Not needed anymore. We just use operator= now. | ||
| 3f36c89f | 2019-03-29 15:22:46 | Inline explicit_operator macro Now that we require C++11, no need to macro. | ||
| 443db2a2 | 2019-03-29 10:46:44 | [iter] Remove hb_len() Not planning on using it. So remove. Can add later if needed. |