1 | #pragma once |
2 | |
3 | #include <mbgl/util/feature.hpp> |
4 | #include <mbgl/util/optional.hpp> |
5 | |
6 | #include <string> |
7 | #include <memory> |
8 | |
9 | namespace mbgl { |
10 | namespace style { |
11 | namespace expression { |
12 | |
13 | class Collator { |
14 | public: |
15 | Collator(bool caseSensitive, bool diacriticSensitive, optional<std::string> locale = {}); |
16 | |
17 | bool operator==(const Collator& other) const; |
18 | |
19 | int compare(const std::string& lhs, const std::string& rhs) const; |
20 | |
21 | std::string resolvedLocale() const; |
22 | private: |
23 | class Impl; |
24 | std::shared_ptr<Impl> impl; |
25 | }; |
26 | |
27 | } // namespace expression |
28 | } // namespace style |
29 | } // namespace mbgl |
30 | |