Move out YGValue

Summary:
@public

Creates a single header file for `YGValue`. This is in preparation of a more compact representation of `YGValue` within `YGStyle`.

Also fixes the incorrect definition of NAN.

Reviewed By: SidharthGuglani

Differential Revision: D13172444

fbshipit-source-id: 4250dbcf8fe15ec3ecdee3913360a73bab633ce3
This commit is contained in:
David Aurelio
2018-12-06 07:35:08 -08:00
committed by Facebook Github Bot
parent 0962c5220c
commit d19da9e528
4 changed files with 70 additions and 44 deletions

View File

@@ -17,16 +17,9 @@
#include <stdbool.h>
#endif
// Not defined in MSVC++
#ifndef NAN
static const unsigned long __nan[2] = {0xffffffff, 0x7fffffff};
#define NAN (*(const float*)__nan)
#endif
#define YGUndefined NAN
#include "YGEnums.h"
#include "YGMacros.h"
#include "YGValue.h"
YG_EXTERN_C_BEGIN
@@ -35,25 +28,6 @@ typedef struct YGSize {
float height;
} YGSize;
typedef struct YGValue {
float value;
YGUnit unit;
} YGValue;
extern const YGValue YGValueUndefined;
extern const YGValue YGValueAuto;
#ifdef __cplusplus
YG_EXTERN_C_END
extern bool operator==(const YGValue& lhs, const YGValue& rhs);
extern bool operator!=(const YGValue& lhs, const YGValue& rhs);
YG_EXTERN_C_BEGIN
#endif
typedef struct YGConfig* YGConfigRef;
typedef struct YGNode* YGNodeRef;