#ifndef MBGL_STYLE_CLASS_PROPERTIES #define MBGL_STYLE_CLASS_PROPERTIES #include #include #include #include namespace mbgl { class ClassProperties { public: inline ClassProperties() {} inline ClassProperties(ClassProperties &&properties) : properties(std::move(properties.properties)) {} inline void set(PropertyKey key, const PropertyValue &value) { properties.emplace(key, value); } inline void set(PropertyKey key, const PropertyTransition &transition) { transitions.emplace(key, transition); } const PropertyTransition &getTransition(PropertyKey key, const PropertyTransition &defaultTransition) const; // Route-through iterable interface so that you can iterate on the object as is. inline std::map::const_iterator begin() const { return properties.begin(); } inline std::map::const_iterator end() const { return properties.end(); } public: std::map properties; std::map transitions; }; } #endif