#pragma once #include #include #include #include #include #include #include #include namespace mbgl { namespace style { namespace conversion { template <> struct Converter { std::optional operator()(const Convertible& value, Error& error) const; }; template <> struct Converter { std::optional operator()(const Convertible& value, Error& error) const; }; template <> struct Converter { std::optional operator()(const Convertible& value, Error& error) const; }; template struct Converter>> { std::optional operator()(const Convertible& value, Error& error) const; }; template struct Converter, typename std::enable_if_t>> { std::optional> operator()(const Convertible& value, Error& error) const; }; template <> struct Converter { std::optional operator()(const Convertible& value, Error& error) const; }; template struct Converter> { std::optional> operator()(const Convertible& value, Error& error) const; }; template <> struct Converter> { std::optional> operator()(const Convertible& value, Error& error) const; }; template struct Converter> { std::optional> operator()(const Convertible& value, Error& error) const; }; template <> struct Converter> { std::optional> operator()(const Convertible& value, Error& error) const; }; } // namespace conversion } // namespace style } // namespace mbgl