40 void write(
int key, Data
const& data)
42 std::lock_guard<std::mutex> lock(the_mutex);
43 auto data_iter = the_map.find(key);
44 if (data_iter != the_map.end())
46 data_iter->second = data;
50 the_map.insert(std::pair<int, Data>(key, data));
54 std::map<int, Data> get_map_copy()
const&
56 std::lock_guard<std::mutex> lock(the_mutex);
60 std::map<int, Data> get_map_copy() &&
62 std::lock_guard<std::mutex> lock(the_mutex);
63 return std::move(the_map);
68 std::lock_guard<std::mutex> lock(the_mutex);
69 return the_map.size();
72 bool read(
int key, Data& p_data)
const
74 std::lock_guard<std::mutex> lock(the_mutex);
75 auto data_iter = the_map.find(key);
76 if (data_iter != the_map.end())
78 p_data = data_iter->second;
85 std::map<int, Data> the_map;
86 mutable std::mutex the_mutex;