MapLibre Native Core
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
constant.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 #include <mbgl/style/types.hpp>
5 #include <mbgl/util/color.hpp>
6 #include <mbgl/util/enum.hpp>
7 #include <mbgl/util/string.hpp>
8 
9 #include <array>
10 #include <string>
11 #include <vector>
12 
13 namespace mbgl {
14 namespace style {
15 namespace conversion {
16 
17 template <>
18 struct Converter<bool> {
19  std::optional<bool> operator()(const Convertible& value, Error& error) const;
20 };
21 
22 template <>
23 struct Converter<float> {
24  std::optional<float> operator()(const Convertible& value, Error& error) const;
25 };
26 
27 template <>
28 struct Converter<std::string> {
29  std::optional<std::string> operator()(const Convertible& value, Error& error) const;
30 };
31 
32 template <class T>
33 struct Converter<T, typename std::enable_if_t<std::is_enum_v<T>>> {
34  std::optional<T> operator()(const Convertible& value, Error& error) const;
35 };
36 
37 template <class T>
38 struct Converter<std::vector<T>, typename std::enable_if_t<std::is_enum_v<T>>> {
39  std::optional<std::vector<T>> operator()(const Convertible& value, Error& error) const;
40 };
41 
42 template <>
43 struct Converter<Color> {
44  std::optional<Color> operator()(const Convertible& value, Error& error) const;
45 };
46 
47 template <size_t N>
48 struct Converter<std::array<float, N>> {
49  std::optional<std::array<float, N>> operator()(const Convertible& value, Error& error) const;
50 };
51 
52 template <>
53 struct Converter<std::vector<float>> {
54  std::optional<std::vector<float>> operator()(const Convertible& value, Error& error) const;
55 };
56 
57 template <size_t N>
58 struct Converter<std::array<double, N>> {
59  std::optional<std::array<double, N>> operator()(const Convertible& value, Error& error) const;
60 };
61 
62 template <>
63 struct Converter<std::vector<std::string>> {
64  std::optional<std::vector<std::string>> operator()(const Convertible& value, Error& error) const;
65 };
66 
67 } // namespace conversion
68 } // namespace style
69 } // namespace mbgl
std::unique_ptr< Expression > error(std::string)
std::unique_ptr< Expression > string(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
Definition: actor.hpp:15
Definition: tile_id.hpp:256
std::optional< Color > operator()(const Convertible &value, Error &error) const
std::optional< bool > operator()(const Convertible &value, Error &error) const
std::optional< float > operator()(const Convertible &value, Error &error) const