[set] Add successful check in swap()

This commit is contained in:
Behdad Esfahbod 2021-11-01 22:17:35 -06:00
parent b860b44229
commit 38debbab7e
2 changed files with 4 additions and 0 deletions

View File

@ -44,6 +44,8 @@ struct hb_bit_set_invertible_t
hb_bit_set_invertible_t& operator= (hb_bit_set_invertible_t&& o) = default;
friend void swap (hb_bit_set_invertible_t &a, hb_bit_set_invertible_t &b)
{
if (likely (!a.s.successful || !b.s.successful))
return;
hb_swap (a.inverted, b.inverted);
hb_swap (a.s, b.s);
}

View File

@ -44,6 +44,8 @@ struct hb_bit_set_t
hb_bit_set_t& operator= (hb_bit_set_t&& other) { hb_swap (*this, other); return *this; }
friend void swap (hb_bit_set_t &a, hb_bit_set_t &b)
{
if (likely (!a.successful || !b.successful))
return;
hb_swap (a.successful, b.successful);
hb_swap (a.population, b.population);
hb_swap (a.last_page_lookup, b.last_page_lookup);