Make equality operator for YGValue inlineable

Summary:
@public

Makes `operator==` for `YGValue` an inline function.

Reviewed By: SidharthGuglani

Differential Revision: D13189356

fbshipit-source-id: 7fe61035acf635e22ebb1a1071925d6b3dad0616
This commit is contained in:
David Aurelio 2018-12-06 07:35:08 -08:00 committed by Facebook Github Bot
parent c37826a933
commit e1c651340b
2 changed files with 18 additions and 20 deletions

View File

@ -9,21 +9,3 @@
const YGValue YGValueZero = {0, YGUnitPoint};
const YGValue YGValueUndefined = {YGUndefined, YGUnitUndefined};
const YGValue YGValueAuto = {YGUndefined, YGUnitAuto};
bool operator==(const YGValue& lhs, const YGValue& rhs) {
if (lhs.unit != rhs.unit) {
return false;
}
switch (lhs.unit) {
case YGUnitUndefined:
case YGUnitAuto:
return true;
default:
return lhs.value == rhs.value;
}
}
bool operator!=(const YGValue& lhs, const YGValue& rhs) {
return !(lhs == rhs);
}

View File

@ -33,8 +33,24 @@ YG_EXTERN_C_END
#ifdef __cplusplus
bool operator==(const YGValue& lhs, const YGValue& rhs);
inline bool operator==(const YGValue& lhs, const YGValue& rhs) {
if (lhs.unit != rhs.unit) {
return false;
}
bool operator!=(const YGValue& lhs, const YGValue& rhs);
switch (lhs.unit) {
case YGUnitUndefined:
case YGUnitAuto:
return true;
case YGUnitPoint:
case YGUnitPercent:
default:
return lhs.value == rhs.value;
}
}
inline bool operator!=(const YGValue& lhs, const YGValue& rhs) {
return !(lhs == rhs);
}
#endif