Completely revert the thing back
diff --git a/src/hb-open-type.hh b/src/hb-open-type.hh index 1471f51..57b22a8 100644 --- a/src/hb-open-type.hh +++ b/src/hb-open-type.hh
@@ -279,15 +279,6 @@ return StructAtOffset<Type> (base, *this); } - template <typename Base> - friend const Type& operator + (const Base &base, const OffsetTo &offset) { return offset (base); } - template <typename Base> - friend const Type& operator + (const OffsetTo &offset, const Base &base) { return offset (base); } - template <typename Base> - friend Type& operator + (Base &base, OffsetTo &offset) { return offset (base); } - template <typename Base> - friend Type& operator + (OffsetTo &offset, Base &base) { return offset (base); } - Type& serialize (hb_serialize_context_t *c, const void *base) { return * (Type *) Offset<OffsetType>::serialize (c, base); @@ -366,6 +357,11 @@ template <typename Type> using LNNOffsetTo = LOffsetTo<Type, false>; +template <typename Base, typename OffsetType, bool has_null, typename Type> +static inline const Type& operator + (const Base &base, const OffsetTo<Type, OffsetType, has_null> &offset) { return offset (base); } +template <typename Base, typename OffsetType, bool has_null, typename Type> +static inline Type& operator + (Base &base, OffsetTo<Type, OffsetType, has_null> &offset) { return offset (base); } + /* * Array Types