#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_CSS_CSS_PRIMITIVE_VALUE_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_CSS_CSS_PRIMITIVE_VALUE_H_
#include <array>
#include <bitset>
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/css/css_value.h"
#include "third_party/blink/renderer/platform/geometry/length.h"
#include "third_party/blink/renderer/platform/wtf/casting.h"
#include "third_party/blink/renderer/platform/wtf/forward.h"
#include "third_party/blink/renderer/platform/wtf/math_extras.h"
#include "third_party/blink/renderer/platform/wtf/text/string_hash.h"
#include "third_party/blink/renderer/platform/wtf/text/string_view.h"
namespace blink {
class CSSLengthResolver;
class CSSMathExpressionNode;
template <typename T>
inline T RoundForImpreciseConversion(double value) { … }
template <>
inline float RoundForImpreciseConversion(double value) { … }
class CORE_EXPORT CSSPrimitiveValue : public CSSValue { … };
CSSLengthArray;
template <>
struct DowncastTraits<CSSPrimitiveValue> { … };
template <>
int CSSPrimitiveValue::ComputeLength(const CSSLengthResolver&) const;
template <>
Length CSSPrimitiveValue::ComputeLength(const CSSLengthResolver&) const;
template <>
unsigned CSSPrimitiveValue::ComputeLength(const CSSLengthResolver&) const;
template <>
int16_t CSSPrimitiveValue::ComputeLength(const CSSLengthResolver&) const;
template <>
CORE_EXPORT float CSSPrimitiveValue::ComputeLength(
const CSSLengthResolver&) const;
template <>
CORE_EXPORT double CSSPrimitiveValue::ComputeLength(
const CSSLengthResolver&) const;
}
#endif