Behdad Esfahbod
ff0d0d020e
[meta] Use std::decay
2022-11-14 14:48:07 -07:00
Qunxin Liu
c335bf469f
support dereferencing shared_ptrs and unique_ptrs
2022-09-27 15:44:29 -06:00
Khaled Hosny
c0d60bd496
[meta] Fix warning with emscripten
...
For whatever reason, em++ takes the first branch and spouts a gazillion
warnings like:
./harfbuzz/src/hb-vector.hh:229:20: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins]
hb_enable_if (hb_is_trivially_copy_assignable(T))>
^
./harfbuzz/src/hb-meta.hh:193:44: note: expanded from macro 'hb_is_trivially_copy_assignable'
2022-07-19 11:33:54 -06:00
Behdad Esfahbod
3f9226da37
[meta] Fix typo
2022-06-16 09:28:47 -06:00
Ryan VanderMeulen
25917c780f
Fix build warning when __GNUG__ isn't defined
2022-06-16 09:28:33 -06:00
Behdad Esfahbod
c19f116952
[meta] Remove non-existing gcc4 trait implementation
2022-05-19 15:43:15 -06:00
Behdad Esfahbod
679b900e9b
[meta] Fix gcc4 trait implementation
2022-05-19 15:43:15 -06:00
Behdad Esfahbod
fb77f48ffd
[vector] Optimize vector copy
2022-05-19 15:43:15 -06:00
Thomas Devoogdt
c657c4e1f8
[meta] fix type traits on gcc 4.9 #3526
...
Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
2022-05-13 11:26:12 -06:00
Behdad Esfahbod
1c50106608
[meta] Include <memory>, for addressof
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3375
2022-01-15 13:09:06 -07:00
Behdad Esfahbod
71e6f742a8
[meta] Remove unused hb_ref()
2022-01-15 13:09:06 -07:00
Behdad Esfahbod
8a69e00639
[meta] Use std::addressof() instead of hb_addressof()
2022-01-13 16:17:34 -07:00
Behdad Esfahbod
b7b0a15f7e
[meta] Remove hb_add_const
2022-01-13 15:33:27 -07:00
Behdad Esfahbod
3b2e604237
[meta] Use std::is_const instead of hb_is_const
2022-01-13 15:32:46 -07:00
Behdad Esfahbod
909dde9df1
[meta] Use std::is_reference instead of hb_is_reference
2022-01-13 15:30:10 -07:00
Behdad Esfahbod
47afb3ef04
[meta] Replace hb_is_pointer with std::is_pointer
2022-01-13 15:27:41 -07:00
Behdad Esfahbod
b8724c6023
[meta] Add in-house impl of hb_is_convertible()
2021-11-02 00:49:40 -06:00
Behdad Esfahbod
7a078c395a
[meta] Use std::conditional instead of hb_conditional()
2021-11-02 00:44:51 -06:00
Behdad Esfahbod
943921cf0c
[meta] Use more std type_traits
2021-11-02 00:26:46 -06:00
Behdad Esfahbod
6d555ce82e
[meta] Use std::forward instead of hb_forward()
2021-11-02 00:18:22 -06:00
Behdad Esfahbod
811f80a701
[algs] Use std::move instead of hb_move()
2021-11-02 00:17:54 -06:00
Behdad Esfahbod
896e0c74a8
[meta] Remove unused traits
2021-11-02 00:06:30 -06:00
Behdad Esfahbod
be42800fc6
[meta] Use std::is_trivially_... instead of internal copies
2021-11-02 00:04:18 -06:00
Behdad Esfahbod
95c888e192
[meta] Define hb_int_min for pointer types as nullptr
2021-08-05 12:27:02 -06:00
Behdad Esfahbod
407a112e7b
[meta] Make hb_is_signed/hb_is_unsigned work on all types
...
They were failing if type was non-scalar, eg. pointer.
2021-08-05 12:23:53 -06:00
Behdad Esfahbod
baf2166a24
[meta] Use hb_true_type/hb_false_type more
2021-08-05 12:08:47 -06:00
Behdad Esfahbod
2caae4a59a
m Move class traits
2021-02-20 15:13:52 -07:00
Behdad Esfahbod
017f6b0d24
m Move static_assert_expr<>
2021-02-20 15:11:14 -07:00
Behdad Esfahbod
7ee3194f98
[meta] Remove wrong comment
2020-06-28 15:41:44 -07:00
ariza
168ceeac49
renamed to hb_unrwap_type(); now recursive
2020-02-17 21:16:15 +00:00
ariza
71552ecc26
add hb_get_type
2020-02-17 21:16:15 +00:00
Behdad Esfahbod
2e48fd0779
Sprinkle constexpr around
...
Being conservative. Also not sure it makes any real difference
in our codebase.
2019-07-02 17:55:58 -07:00
Behdad Esfahbod
0ff7954f9f
[meta] Add hb_is_trivial
2019-05-10 22:04:40 -07:00
Behdad Esfahbod
7162a97bca
[meta] Add hb_is_trivially_copyable()
2019-05-10 22:03:03 -07:00
Behdad Esfahbod
f2398f34c0
[meta] Add is_trivially_destructible
2019-05-10 21:59:57 -07:00
Behdad Esfahbod
086772e409
[meta] Add is_destructible
2019-05-10 21:49:25 -07:00
Behdad Esfahbod
b14745278a
[met]a Add is_constructible, ...
2019-05-10 21:42:59 -07:00
Behdad Esfahbod
40fb36a39d
[meta] Minor
2019-05-10 21:01:19 -07:00
Behdad Esfahbod
f9a96a0a97
[meta] More rewrites
2019-05-10 20:56:16 -07:00
Behdad Esfahbod
5252677e53
[meta] Rewrite hb_int_min/max
2019-05-10 20:49:52 -07:00
Behdad Esfahbod
caa3f92e91
[meta] void_tt -> void_t
2019-05-10 20:44:22 -07:00
Behdad Esfahbod
7df3ecfb40
[meta] hb_void_t -> hb_empty_t
2019-05-10 20:43:26 -07:00
Behdad Esfahbod
149c3db8a2
[meta] Minor
2019-05-10 20:34:52 -07:00
Behdad Esfahbod
707ff5b59d
Minor
2019-05-10 20:31:20 -07:00
Behdad Esfahbod
ce300f4fb6
[meta] Rewrite is_signed, add is_unsigned
2019-05-10 20:26:29 -07:00
Behdad Esfahbod
e939d88bd7
[meta] Rewrite is_integral / is_floating_point, add is_arithmetic
2019-05-10 20:20:51 -07:00
Behdad Esfahbod
c3a456a26e
[meta] Rewrite is_cr_convertible
2019-05-10 20:17:30 -07:00
Behdad Esfahbod
b4ad6af9c4
[meta] Rewrite is_base_of
2019-05-10 20:15:03 -07:00
Behdad Esfahbod
61d150c916
[meta] Add integral_constant, true_t -> true_type, false_t -> false_type
2019-05-10 20:06:31 -07:00
Behdad Esfahbod
38e3a8bd53
[meta] bool_tt -> bool_constant
2019-05-10 20:03:14 -07:00