From 7430ff604aa54bedcb07cc1c2962eae85fcade76 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sat, 3 Nov 2018 15:59:13 -0400 Subject: [PATCH] Template casts in hb_nonnull_ptr_t --- src/hb-null.hh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/hb-null.hh b/src/hb-null.hh index 151277ca7..a3f0ea079 100644 --- a/src/hb-null.hh +++ b/src/hb-null.hh @@ -120,8 +120,10 @@ struct hb_nonnull_ptr_t inline const T & operator * (void) const { return *get (); } inline T ** operator & (void) { return &v; } inline const T ** operator & (void) const { return &v; } - inline operator T * (void) { return get (); } - inline operator const T * (void) const { return get (); } + template + inline operator C * (void) { return get (); } + template + inline operator const C * (void) const { return get (); } inline T * get (void) { return v ? v : const_cast (&Null(T)); } inline const T * get (void) const { return v ? v : const_cast (&Null(T)); } inline T * get_raw (void) { return v; }