#pragma once #include #include #include #include namespace mbgl { namespace style { template class LayoutProperty { public: using TransitionableType = std::nullptr_t; using UnevaluatedType = PropertyValue; using EvaluatorType = PropertyEvaluator; using PossiblyEvaluatedType = T; using Type = T; static constexpr bool IsDataDriven = false; }; template class DataDrivenLayoutProperty { public: using TransitionableType = std::nullptr_t; using UnevaluatedType = DataDrivenPropertyValue; using EvaluatorType = DataDrivenPropertyEvaluator; using PossiblyEvaluatedType = PossiblyEvaluatedPropertyValue; using Type = T; static constexpr bool IsDataDriven = true; }; } // namespace style } // namespace mbgl