|
|
@ -510,7 +510,7 @@ struct hb_serialize_context_t |
|
|
|
{ return reinterpret_cast<Type *> (this->head); } |
|
|
|
{ return reinterpret_cast<Type *> (this->head); } |
|
|
|
template <typename Type> |
|
|
|
template <typename Type> |
|
|
|
Type *start_embed (const Type &obj) const |
|
|
|
Type *start_embed (const Type &obj) const |
|
|
|
{ return start_embed (hb_addressof (obj)); } |
|
|
|
{ return start_embed (std::addressof (obj)); } |
|
|
|
|
|
|
|
|
|
|
|
bool err (hb_serialize_error_t err_type) |
|
|
|
bool err (hb_serialize_error_t err_type) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -548,7 +548,7 @@ struct hb_serialize_context_t |
|
|
|
} |
|
|
|
} |
|
|
|
template <typename Type> |
|
|
|
template <typename Type> |
|
|
|
Type *embed (const Type &obj) |
|
|
|
Type *embed (const Type &obj) |
|
|
|
{ return embed (hb_addressof (obj)); } |
|
|
|
{ return embed (std::addressof (obj)); } |
|
|
|
|
|
|
|
|
|
|
|
template <typename Type, typename ...Ts> auto |
|
|
|
template <typename Type, typename ...Ts> auto |
|
|
|
_copy (const Type &src, hb_priority<1>, Ts&&... ds) HB_RETURN |
|
|
|
_copy (const Type &src, hb_priority<1>, Ts&&... ds) HB_RETURN |
|
|
@ -595,19 +595,19 @@ struct hb_serialize_context_t |
|
|
|
} |
|
|
|
} |
|
|
|
template <typename Type> |
|
|
|
template <typename Type> |
|
|
|
Type *extend_size (Type &obj, size_t size) |
|
|
|
Type *extend_size (Type &obj, size_t size) |
|
|
|
{ return extend_size (hb_addressof (obj), size); } |
|
|
|
{ return extend_size (std::addressof (obj), size); } |
|
|
|
|
|
|
|
|
|
|
|
template <typename Type> |
|
|
|
template <typename Type> |
|
|
|
Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
|
|
|
Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
|
|
|
template <typename Type> |
|
|
|
template <typename Type> |
|
|
|
Type *extend_min (Type &obj) { return extend_min (hb_addressof (obj)); } |
|
|
|
Type *extend_min (Type &obj) { return extend_min (std::addressof (obj)); } |
|
|
|
|
|
|
|
|
|
|
|
template <typename Type, typename ...Ts> |
|
|
|
template <typename Type, typename ...Ts> |
|
|
|
Type *extend (Type *obj, Ts&&... ds) |
|
|
|
Type *extend (Type *obj, Ts&&... ds) |
|
|
|
{ return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
|
|
|
{ return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
|
|
|
template <typename Type, typename ...Ts> |
|
|
|
template <typename Type, typename ...Ts> |
|
|
|
Type *extend (Type &obj, Ts&&... ds) |
|
|
|
Type *extend (Type &obj, Ts&&... ds) |
|
|
|
{ return extend (hb_addressof (obj), std::forward<Ts> (ds)...); } |
|
|
|
{ return extend (std::addressof (obj), std::forward<Ts> (ds)...); } |
|
|
|
|
|
|
|
|
|
|
|
/* Output routines. */ |
|
|
|
/* Output routines. */ |
|
|
|
hb_bytes_t copy_bytes () const |
|
|
|
hb_bytes_t copy_bytes () const |
|
|
|