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