diff --git a/src/hb-meta.hh b/src/hb-meta.hh index c3efe48a6..b80358c2a 100644 --- a/src/hb-meta.hh +++ b/src/hb-meta.hh @@ -65,6 +65,9 @@ template <> struct hb_priority<0> {}; #define HB_FUNCOBJ(x) static_const x HB_UNUSED +template struct hb_match_identity { typedef T type; }; +template using hb_type_identity = typename hb_match_identity::type; + struct { template @@ -96,6 +99,7 @@ template struct hb_match_pointer { typedef T type; enum { valu template using hb_remove_pointer = typename hb_match_pointer::type; #define hb_is_pointer(T) hb_match_pointer::value +/* TODO Add feature-parity to std::decay. */ template using hb_decay = hb_remove_const>; #define hb_is_cr_convertible_to(A, B) ( \