[serialize] Simplify propagate_error()

This commit is contained in:
Behdad Esfahbod 2019-03-30 17:12:40 -07:00
parent dbe9ba6711
commit 63c3565189
1 changed files with 2 additions and 7 deletions

View File

@ -66,15 +66,10 @@ struct hb_serialize_context_t
{ return this->successful = this->successful && !obj.in_error (); }
template <typename T> bool propagate_error (const T *obj)
{ return this->successful = this->successful && !obj->in_error (); }
template <typename T1, typename T2> bool propagate_error (T1 &o1, T2 &o2)
{ return propagate_error (o1) && propagate_error (o2); }
template <typename T1, typename T2> bool propagate_error (T1 *o1, T2 *o2)
template <typename T1, typename T2> bool propagate_error (T1 &&o1, T2 &&o2)
{ return propagate_error (o1) && propagate_error (o2); }
template <typename T1, typename T2, typename T3>
bool propagate_error (T1 &o1, T2 &o2, T3 &o3)
{ return propagate_error (o1) && propagate_error (o2, o3); }
template <typename T1, typename T2, typename T3>
bool propagate_error (T1 *o1, T2 *o2, T3 *o3)
bool propagate_error (T1 &&o1, T2 &&o2, T3 &&o3)
{ return propagate_error (o1) && propagate_error (o2, o3); }
/* To be called around main operation. */