Move OffsetTo<> deref operators in-class as friends
This commit is contained in:
parent
e6d6f4b96d
commit
71208e5047
|
@ -279,6 +279,11 @@ struct OffsetTo : Offset<OffsetType, has_null>
|
||||||
return StructAtOffset<Type> (base, *this);
|
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 Type& operator + (Base *base, OffsetTo &offset) { return offset (base); }
|
||||||
|
|
||||||
Type& serialize (hb_serialize_context_t *c, const void *base)
|
Type& serialize (hb_serialize_context_t *c, const void *base)
|
||||||
{
|
{
|
||||||
return * (Type *) Offset<OffsetType>::serialize (c, base);
|
return * (Type *) Offset<OffsetType>::serialize (c, base);
|
||||||
|
@ -357,11 +362,6 @@ using NNOffsetTo = OffsetTo<Type, OffsetType, false>;
|
||||||
template <typename Type>
|
template <typename Type>
|
||||||
using LNNOffsetTo = LOffsetTo<Type, false>;
|
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
|
* Array Types
|
||||||
|
|
Loading…
Reference in New Issue