diff --git a/src/hb-open-type.hh b/src/hb-open-type.hh index ee452864d..e9f99b104 100644 --- a/src/hb-open-type.hh +++ b/src/hb-open-type.hh @@ -335,7 +335,7 @@ static inline Type& operator + (Base &base, OffsetTo template struct UnsizedArrayOf { - HB_DISALLOW_COPY_AND_ASSIGN_TEMPLATE (UnsizedArrayOf, Type); + HB_NO_CREATE_COPY_ASSIGN_TEMPLATE (UnsizedArrayOf, Type); inline const Type& operator [] (unsigned int i) const { return arrayZ[i]; } inline Type& operator [] (unsigned int i) { return arrayZ[i]; } @@ -426,7 +426,7 @@ struct UnsizedOffsetListOf : UnsizedOffsetArrayOf template struct ArrayOf { - HB_DISALLOW_COPY_AND_ASSIGN_TEMPLATE2 (ArrayOf, Type, LenType); + HB_NO_CREATE_COPY_ASSIGN_TEMPLATE2 (ArrayOf, Type, LenType); inline const Type *sub_array (unsigned int start_offset, unsigned int *pcount /* IN/OUT */) const { @@ -593,7 +593,7 @@ struct OffsetListOf : OffsetArrayOf template struct HeadlessArrayOf { - HB_DISALLOW_COPY_AND_ASSIGN_TEMPLATE2 (HeadlessArrayOf, Type, LenType); + HB_NO_CREATE_COPY_ASSIGN_TEMPLATE2 (HeadlessArrayOf, Type, LenType); inline const Type& operator [] (unsigned int i) const { @@ -659,7 +659,7 @@ struct HeadlessArrayOf template struct ArrayOfM1 { - HB_DISALLOW_COPY_AND_ASSIGN_TEMPLATE2 (ArrayOfM1, Type, LenType); + HB_NO_CREATE_COPY_ASSIGN_TEMPLATE2 (ArrayOfM1, Type, LenType); inline const Type& operator [] (unsigned int i) const { @@ -791,7 +791,7 @@ struct VarSizedBinSearchHeader template struct VarSizedBinSearchArrayOf { - HB_DISALLOW_COPY_AND_ASSIGN_TEMPLATE (VarSizedBinSearchArrayOf, Type); + HB_NO_CREATE_COPY_ASSIGN_TEMPLATE (VarSizedBinSearchArrayOf, Type); inline const Type& operator [] (unsigned int i) const { diff --git a/src/hb.hh b/src/hb.hh index d29baabfb..74dd8ace0 100644 --- a/src/hb.hh +++ b/src/hb.hh @@ -339,21 +339,24 @@ static_assert ((sizeof (hb_var_int_t) == 4), ""); #if __cplusplus >= 201103L -#define HB_DISALLOW_COPY_AND_ASSIGN(TypeName) \ +#define HB_NO_CREATE_COPY_ASSIGN(TypeName) \ + TypeName(void); \ TypeName(const TypeName&); \ void operator=(const TypeName&) -#define HB_DISALLOW_COPY_AND_ASSIGN_TEMPLATE(TypeName, T) \ +#define HB_NO_CREATE_COPY_ASSIGN_TEMPLATE(TypeName, T) \ + TypeName(void); \ TypeName(const TypeName&); \ void operator=(const TypeName&) -#define HB_DISALLOW_COPY_AND_ASSIGN_TEMPLATE2(TypeName, T1, T2) \ +#define HB_NO_CREATE_COPY_ASSIGN_TEMPLATE2(TypeName, T1, T2) \ + TypeName(void); \ TypeName(const TypeName&); \ void operator=(const TypeName&); #else /* __cpluspplus >= 201103L */ -#define HB_DISALLOW_COPY_AND_ASSIGN(TypeName) -#define HB_DISALLOW_COPY_AND_ASSIGN_TEMPLATE(TypeName, T) -#define HB_DISALLOW_COPY_AND_ASSIGN_TEMPLATE2(TypeName, T1, T2) +#define HB_NO_CREATE_COPY_ASSIGN(TypeName) +#define HB_NO_CREATE_COPY_ASSIGN_TEMPLATE(TypeName, T) +#define HB_NO_CREATE_COPY_ASSIGN_TEMPLATE2(TypeName, T1, T2) #endif /* __cpluspplus >= 201103L */