diff --git a/src/hb-meta.hh b/src/hb-meta.hh index 0ab717940..47cefa869 100644 --- a/src/hb-meta.hh +++ b/src/hb-meta.hh @@ -292,6 +292,15 @@ template <> struct hb_int_max : hb_integral_constant::value + +template +struct _hb_is_destructible : hb_false_type {}; +template +struct _hb_is_destructible> : hb_true_type {}; +template +using hb_is_destructible = _hb_is_destructible; +#define hb_is_destructible(T) hb_is_destructible::value + template struct _hb_is_constructible : hb_false_type {}; template @@ -334,6 +343,11 @@ using hb_is_move_assignable = hb_is_assignable, template union hb_trivial { T value; }; +/* Don't know how to do the following. */ +//template +//using hb_is_trivially_destructible= hb_is_destructible>; +//#define hb_is_trivially_destructible(T) hb_is_trivially_destructible::value + /* Don't know how to do the following. */ //template //using hb_is_trivially_constructible= hb_is_constructible, hb_trivial...>;