Add hb_auto_t

Part of https://github.com/harfbuzz/harfbuzz/issues/1017
This commit is contained in:
Behdad Esfahbod 2018-05-01 19:05:58 -04:00
parent a60ba7964e
commit 4a01eb1234
1 changed files with 8 additions and 3 deletions

View File

@ -701,11 +701,16 @@ struct hb_prealloced_array_t
}; };
template <typename Type> template <typename Type>
struct hb_auto_array_t : hb_prealloced_array_t <Type> struct hb_auto_t : Type
{ {
hb_auto_array_t (void) { hb_prealloced_array_t<Type>::init (); } hb_auto_t (void) { Type::init (); }
~hb_auto_array_t (void) { hb_prealloced_array_t<Type>::fini (); } ~hb_auto_t (void) { Type::fini (); }
private: /* Hide */
void init (void) {}
void fini (void) {}
}; };
template <typename Type>
struct hb_auto_array_t : hb_auto_t <hb_prealloced_array_t <Type> > {};
#define HB_LOCKABLE_SET_INIT {HB_PREALLOCED_ARRAY_INIT} #define HB_LOCKABLE_SET_INIT {HB_PREALLOCED_ARRAY_INIT}