Use injected class name to simplify macros
diff --git a/src/hb-open-type.hh b/src/hb-open-type.hh
index 379baeb..c470729 100644
--- a/src/hb-open-type.hh
+++ b/src/hb-open-type.hh
@@ -378,7 +378,7 @@
   typedef Type item_t;
   static constexpr unsigned item_size = hb_static_size (Type);
 
-  HB_DELETE_CREATE_COPY_ASSIGN_TEMPLATE (UnsizedArrayOf, Type);
+  HB_DELETE_CREATE_COPY_ASSIGN (UnsizedArrayOf);
 
   const Type& operator [] (int i_) const
   {
@@ -534,7 +534,7 @@
   typedef Type item_t;
   static constexpr unsigned item_size = hb_static_size (Type);
 
-  HB_DELETE_CREATE_COPY_ASSIGN_TEMPLATE2 (ArrayOf, Type, LenType);
+  HB_DELETE_CREATE_COPY_ASSIGN (ArrayOf);
 
   const Type& operator [] (int i_) const
   {
@@ -715,7 +715,7 @@
 {
   static constexpr unsigned item_size = Type::static_size;
 
-  HB_DELETE_CREATE_COPY_ASSIGN_TEMPLATE2 (HeadlessArrayOf, Type, LenType);
+  HB_DELETE_CREATE_COPY_ASSIGN (HeadlessArrayOf);
 
   const Type& operator [] (int i_) const
   {
@@ -780,7 +780,7 @@
 template <typename Type, typename LenType=HBUINT16>
 struct ArrayOfM1
 {
-  HB_DELETE_CREATE_COPY_ASSIGN_TEMPLATE2 (ArrayOfM1, Type, LenType);
+  HB_DELETE_CREATE_COPY_ASSIGN (ArrayOfM1);
 
   const Type& operator [] (int i_) const
   {
@@ -945,7 +945,7 @@
 {
   static constexpr unsigned item_size = Type::static_size;
 
-  HB_DELETE_CREATE_COPY_ASSIGN_TEMPLATE (VarSizedBinSearchArrayOf, Type);
+  HB_DELETE_CREATE_COPY_ASSIGN (VarSizedBinSearchArrayOf);
 
   bool last_is_terminator () const
   {
diff --git a/src/hb.hh b/src/hb.hh
index 2e381a2..4ea1097 100644
--- a/src/hb.hh
+++ b/src/hb.hh
@@ -411,24 +411,10 @@
 #define HB_DELETE_COPY_ASSIGN(TypeName) \
   TypeName(const TypeName&) = delete; \
   void operator=(const TypeName&) = delete
-#define HB_DELETE_COPY_ASSIGN_TEMPLATE(TypeName, T) \
-  TypeName(const TypeName<T>&) = delete; \
-  void operator=(const TypeName<T>&) = delete
-#define HB_DELETE_COPY_ASSIGN_TEMPLATE2(TypeName, T1, T2) \
-  TypeName(const TypeName<T1, T2>&) = delete; \
-  void operator=(const TypeName<T1, T2>&) = delete
 #define HB_DELETE_CREATE_COPY_ASSIGN(TypeName) \
   TypeName() = delete; \
   TypeName(const TypeName&) = delete; \
   void operator=(const TypeName&) = delete
-#define HB_DELETE_CREATE_COPY_ASSIGN_TEMPLATE(TypeName, T) \
-  TypeName() = delete; \
-  TypeName(const TypeName<T>&) = delete; \
-  void operator=(const TypeName<T>&) = delete
-#define HB_DELETE_CREATE_COPY_ASSIGN_TEMPLATE2(TypeName, T1, T2) \
-  TypeName() = delete; \
-  TypeName(const TypeName<T1, T2>&) = delete; \
-  void operator=(const TypeName<T1, T2>&) = delete
 
 
 /*