kc3-lang/harfbuzz/src/hb-iter.hh

Branch :


Log

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.