Remove enum count macros

Summary:
@public
Removes all `YG...Count` macros for enums and replaces them with `facebook::yoga::enums::count<YG...>()`.
This removes the need to manually maintain enum counts.

Same as D13597449, working around a defect in clang < 3.9

Reviewed By: amir-shalem

Differential Revision: D13634622

fbshipit-source-id: 344dc70e167b0caf746fe396cedd200f54e52219
This commit is contained in:
David Aurelio
2019-01-11 03:09:11 -08:00
committed by Facebook Github Bot
parent 866bf101b2
commit 4840495d3f
7 changed files with 86 additions and 47 deletions

View File

@@ -20,8 +20,7 @@ static void indent(string& base, uint32_t level) {
}
}
static bool areFourValuesEqual(
const facebook::yoga::detail::Values<YGEdgeCount>& four) {
static bool areFourValuesEqual(const YGStyle::Edges& four) {
return YGValueEqual(four[0], four[1]) && YGValueEqual(four[0], four[2]) &&
YGValueEqual(four[0], four[3]);
}
@@ -86,7 +85,7 @@ static void appendNumberIfNotZero(
static void appendEdges(
string& base,
const string& key,
const facebook::yoga::detail::Values<YGEdgeCount>& edges) {
const YGStyle::Edges& edges) {
if (areFourValuesEqual(edges)) {
appendNumberIfNotZero(base, key, edges[YGEdgeLeft]);
} else {
@@ -100,7 +99,7 @@ static void appendEdges(
static void appendEdgeIfNotUndefined(
string& base,
const string& str,
const facebook::yoga::detail::Values<YGEdgeCount>& edges,
const YGStyle::Edges& edges,
const YGEdge edge) {
appendNumberIfNotUndefined(
base,