#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_CSS_CSS_MATH_EXPRESSION_NODE_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_CSS_CSS_MATH_EXPRESSION_NODE_H_
#include <optional>
#include "base/check_op.h"
#include "base/containers/enum_set.h"
#include "base/dcheck_is_on.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/css/css_anchor_query_enums.h"
#include "third_party/blink/renderer/core/css/css_color_channel_map.h"
#include "third_party/blink/renderer/core/css/css_custom_ident_value.h"
#include "third_party/blink/renderer/core/css/css_identifier_value.h"
#include "third_party/blink/renderer/core/css/css_length_resolver.h"
#include "third_party/blink/renderer/core/css/css_math_operator.h"
#include "third_party/blink/renderer/core/css/css_primitive_value.h"
#include "third_party/blink/renderer/core/css/css_value.h"
#include "third_party/blink/renderer/core/css/parser/css_parser_token_range.h"
#include "third_party/blink/renderer/core/css_value_keywords.h"
#include "third_party/blink/renderer/core/dom/tree_scope.h"
#include "third_party/blink/renderer/core/layout/geometry/axis.h"
#include "third_party/blink/renderer/platform/geometry/calculation_value.h"
#include "third_party/blink/renderer/platform/wtf/forward.h"
namespace blink {
static const int kMaxExpressionDepth = …;
class CalculationExpressionNode;
class CSSNumericLiteralValue;
class CSSParserContext;
class TryTacticTransform;
class WritingDirectionMode;
enum CalculationResultCategory { … };
CalculationResultCategorySet;
class CORE_EXPORT CSSMathExpressionNode
: public GarbageCollected<CSSMathExpressionNode> { … };
class CORE_EXPORT CSSMathExpressionNumericLiteral final
: public CSSMathExpressionNode { … };
template <>
struct DowncastTraits<CSSMathExpressionNumericLiteral> { … };
class CORE_EXPORT CSSMathExpressionIdentifierLiteral final
: public CSSMathExpressionNode { … };
template <>
struct DowncastTraits<CSSMathExpressionIdentifierLiteral> { … };
class CORE_EXPORT CSSMathExpressionKeywordLiteral final
: public CSSMathExpressionNode { … };
template <>
struct DowncastTraits<CSSMathExpressionKeywordLiteral> { … };
class CORE_EXPORT CSSMathExpressionOperation final
: public CSSMathExpressionNode { … };
template <>
struct DowncastTraits<CSSMathExpressionOperation> { … };
class CORE_EXPORT CSSMathExpressionContainerFeature final
: public CSSMathExpressionNode { … };
template <>
struct DowncastTraits<CSSMathExpressionContainerFeature> { … };
class CORE_EXPORT CSSMathExpressionAnchorQuery final
: public CSSMathExpressionNode { … };
template <>
struct DowncastTraits<CSSMathExpressionAnchorQuery> { … };
}
#endif