summaryrefslogtreecommitdiff
path: root/include/mbgl/util/feature_state.hpp
blob: e97926c6e108563332ff40c3e1836473d8b427e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#pragma once

#include <mbgl/util/feature.hpp>
#include <mbgl/util/optional.hpp>

namespace mbgl {

using FeatureStates = std::unordered_map<FeatureIdentifier, PropertyMap>;
using FeatureStatesMap = std::unordered_map<std::string, FeatureStates>;

struct FeatureStateChange {
  enum class ChangeType {
    Insert,
    Clear
  };
    
  ChangeType type;
  FeatureIdentifier id;
  std::string key;
  optional<Value> value;
  FeatureStateChange(ChangeType type_,
		     FeatureIdentifier&& id_,
		     std::string&& key_,
		     optional<Value> value_) :
    type(type_),
    id(std::move(id_)),
    key(std::move(key_)),
    value(std::move(value_)) {}
};

} // namespace mbgl