[bit-set-invertible] Fix process logic for inverted
[# On branch set-invert
This commit is contained in:
parent
060de189ec
commit
f6aa37159b
|
@ -113,10 +113,7 @@ struct hb_bit_set_invertible_t
|
||||||
protected:
|
protected:
|
||||||
template <typename Op>
|
template <typename Op>
|
||||||
void process (const Op& op, const hb_bit_set_invertible_t &other)
|
void process (const Op& op, const hb_bit_set_invertible_t &other)
|
||||||
{
|
{ s.process (op, other.s); }
|
||||||
s.process (op, other.s);
|
|
||||||
inverted = bool (op (int (inverted), int (other.inverted)));
|
|
||||||
}
|
|
||||||
public:
|
public:
|
||||||
void union_ (const hb_bit_set_invertible_t &other)
|
void union_ (const hb_bit_set_invertible_t &other)
|
||||||
{
|
{
|
||||||
|
@ -134,6 +131,7 @@ struct hb_bit_set_invertible_t
|
||||||
else
|
else
|
||||||
process (hb_bitwise_lt, other);
|
process (hb_bitwise_lt, other);
|
||||||
}
|
}
|
||||||
|
inverted = inverted || other.inverted;
|
||||||
}
|
}
|
||||||
void intersect (const hb_bit_set_invertible_t &other)
|
void intersect (const hb_bit_set_invertible_t &other)
|
||||||
{
|
{
|
||||||
|
@ -151,6 +149,7 @@ struct hb_bit_set_invertible_t
|
||||||
else
|
else
|
||||||
process (hb_bitwise_le, other);
|
process (hb_bitwise_le, other);
|
||||||
}
|
}
|
||||||
|
inverted = inverted && other.inverted;
|
||||||
}
|
}
|
||||||
void subtract (const hb_bit_set_invertible_t &other)
|
void subtract (const hb_bit_set_invertible_t &other)
|
||||||
{
|
{
|
||||||
|
@ -168,10 +167,12 @@ struct hb_bit_set_invertible_t
|
||||||
else
|
else
|
||||||
process (hb_bitwise_and, other);
|
process (hb_bitwise_and, other);
|
||||||
}
|
}
|
||||||
|
inverted = inverted && !other.inverted;
|
||||||
}
|
}
|
||||||
void symmetric_difference (const hb_bit_set_invertible_t &other)
|
void symmetric_difference (const hb_bit_set_invertible_t &other)
|
||||||
{
|
{
|
||||||
process (hb_bitwise_xor, other);
|
process (hb_bitwise_xor, other);
|
||||||
|
inverted = inverted ^ other.inverted;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool next (hb_codepoint_t *codepoint) const
|
bool next (hb_codepoint_t *codepoint) const
|
||||||
|
|
Loading…
Reference in New Issue