Behdad Esfahbod
3919ca41b5
[meta] Add is_floating_point
2019-05-10 19:56:36 -07:00
Behdad Esfahbod
25bb7e005d
[meta] Add is_signed for floating point types
2019-05-10 19:52:36 -07:00
Behdad Esfahbod
e0315b4aad
[meta] is_integer -> is_integral
2019-05-10 19:48:02 -07:00
Behdad Esfahbod
9574de7a3e
[meta] Add add_const, add_pointer, add_lvalue_reference, add_rvalue_reference
2019-05-10 19:29:32 -07:00
Behdad Esfahbod
30e4ae6bd1
[meta] Add hb_is_base_of
2019-05-10 11:26:49 -07:00
Behdad Esfahbod
42901d7af9
Minor
2019-05-09 16:22:08 -07:00
Behdad Esfahbod
69d9114b53
[meta] Rewrite hb_is_cr_converitble
2019-05-09 15:24:25 -07:00
Behdad Esfahbod
ceda1f03b7
Fix compile
...
NameRecord is not copy-constructible, so should be iterator of
const-reference.
2019-05-09 15:24:25 -07:00
Behdad Esfahbod
3686c3b65c
Adjust is_cr_convertible
...
If To is const& then From doesn't need to be &.
2019-05-09 15:24:25 -07:00
Behdad Esfahbod
726002a6a6
[iter] Make hb_is_iterator_of() check is_convertible
...
Instead of is_cr_convertible.
2019-05-09 15:24:25 -07:00
Behdad Esfahbod
70a49f2e4a
[meta] Add hb_conditional<> and hb_is_convertible()
2019-05-09 15:24:25 -07:00
Behdad Esfahbod
05867d9f53
[meta] Add hb_int_max()
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
4c94bc63d9
Move hb_invoke() back to hb-algs.hh
2019-05-08 15:57:33 -07:00
Behdad Esfahbod
a17f0fa3a1
[meta] Capture rvalue-references in is_reference / remove_reference
2019-05-08 15:08:33 -07:00
Behdad Esfahbod
e8bd5fc3fa
[meta] Move hb_invoke from algs to meta
2019-05-07 22:29:40 -07:00
Behdad Esfahbod
035b818e34
[meta] Fix addressof()
2019-05-07 17:21:18 -07:00
Behdad Esfahbod
7654ebe3a5
Whitespace
2019-05-07 16:53:03 -07:00
Behdad Esfahbod
7c037bd2be
[name] Clean up some more
2019-05-07 13:37:43 -07:00
Behdad Esfahbod
fa2d97161f
Remove use of deprecated implicit copy/move assignment operators
...
By removing custom copy constructor.
2019-05-07 00:36:36 -07:00
Behdad Esfahbod
8903040fcd
Actually make it work
2019-05-07 00:13:11 -07:00
Behdad Esfahbod
03a68165d8
[meta] Add hb_reference_wrapper<>
...
Functionality kinda superset of std:: counterpart.
2019-05-07 00:05:31 -07:00
Behdad Esfahbod
0bf86d9c5d
Whitespace
2019-05-06 23:39:26 -07:00
Behdad Esfahbod
72eb91deb9
Add hb_ref()
...
Unused.
2019-05-06 23:39:13 -07:00
Behdad Esfahbod
240f57e58d
Rename hb_deref_pointer() to hb_deref()
2019-05-06 23:17:39 -07:00
Behdad Esfahbod
750b65e9a9
[meta] Add hb_type_identity<>
...
To block template argument deduction.
2019-04-26 17:14:25 -07:00
Behdad Esfahbod
3a7f5bdd18
Rewrite hb_is_signed()
2019-04-26 14:40:01 -07:00
Behdad Esfahbod
8ecae793aa
[meta] Add hb_is_cr_convertible_to()
2019-04-26 13:04:06 -07:00
Behdad Esfahbod
52bb0346d3
[meta] Add hb_decay<>
2019-04-26 13:04:06 -07:00
Behdad Esfahbod
22da12318a
[map] Fix TODO
2019-04-24 10:53:47 -04:00
Behdad Esfahbod
c67a0d581f
Add HB_RETURN
2019-04-17 10:29:10 -04:00
Behdad Esfahbod
5b33427f2c
Rename HB_AUTO_RETURN_EXPR to HB_AUTO_RETURN
2019-04-16 18:28:17 -04:00
Behdad Esfahbod
fe30fcd228
Use hb_deref_pointer() to reduce number of overloads
2019-04-16 17:34:06 -04:00
Behdad Esfahbod
54ece299bc
Use type aliasing for meta-functions, ie. those returning a type
2019-04-16 16:45:53 -04:00
Behdad Esfahbod
a3fcb9a370
[meta] Add HB_AUTO_RETURN_EXPR, HB_VOID_RETURN_EXPR, hb_priority, hb_has(), hb_get()
...
The first three based on range-v3.
2019-04-16 10:45:57 -04:00
Behdad Esfahbod
ff68be31bf
Add hb_void_tt<> ala std::void_t
2019-04-16 09:59:51 -04:00
Behdad Esfahbod
02d864aa26
Add HB_FUNCOBJ()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1651
2019-04-15 15:39:30 -04:00
Behdad Esfahbod
caa20e4ef9
Hide a few more symbols
...
Exposed by:
$ make CPPFLAGS=-O0
2019-04-12 18:00:58 -04:00
Behdad Esfahbod
2778df7972
[meta] Add hb_is_same()
2019-04-03 14:15:01 -07:00
Behdad Esfahbod
7c9ceabcef
[meta] Add hb_move and hb_forward ala std::
2019-03-30 18:23:24 -07:00
Behdad Esfahbod
ef33b5d1f6
[map] Deref pointers before equality check
2019-03-30 14:39:21 -07:00
Behdad Esfahbod
4b7f4dbc0c
Add hb_deref_pointer()
2019-03-30 13:48:32 -07:00
Behdad Esfahbod
343e6063dc
Add hb_is_integer(T)
2019-03-28 21:44:12 -07:00
Behdad Esfahbod
7d2376de33
Merge branch 'master' into iter
2019-02-13 22:13:37 -08:00
Behdad Esfahbod
e75b22039f
Move hb_addressof() to hb-meta.hh
2019-01-28 21:26:23 -05:00
Behdad Esfahbod
7987095e64
[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.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
a6c013b1bf
[meta] Add hb_declval() macro
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
8414f16787
[meta] Rename
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
815cde9fa3
[iter] Use is_sorted_iterator
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
d552b6818c
[meta] Move typename around
...
We'll see if bots like.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
f64ea8fc65
[meta] Move code around
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
3d22900f62
[meta] Don't use template default arguments for functions
...
That's a C++11 extension apparently...
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
b89d20dd9f
[meta] Fix unused-function-template warning
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
df138da2e6
[iter/meta] Implement is_iterator
...
Removes use of auto type deduction again, which was not supported on many bots.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
442f4a5891
[meta] Move more code here
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
8c6cbbdfa3
[iter/meta] Add hb_is_iterable
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
e32bf39766
[meta] Add enable_if
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
e76a3cae0f
Add hb-meta.hh for meta-programming
2019-01-20 20:12:12 -05:00