15 mutable std::mutex m_mutex;
18 using key_type =
typename MapType::key_type;
19 using mapped_type =
typename MapType::mapped_type;
20 using value_type =
typename MapType::value_type;
21 using iterator =
typename MapType::iterator;
22 using const_iterator =
typename MapType::const_iterator;
30 mapped_type& operator[](
const key_type& k)
32 std::lock_guard<std::mutex> lock(m_mutex);
36 iterator find(
const key_type& k)
38 std::lock_guard<std::mutex> lock(m_mutex);
41 const_iterator find(
const key_type& k)
const
43 std::lock_guard<std::mutex> lock(m_mutex);
47 std::size_t count(
const key_type& k)
const
49 std::lock_guard<std::mutex> lock(m_mutex);
50 return m_map.count(k);
53 iterator begin() {
return m_map.begin(); }
54 iterator end() {
return m_map.end(); }
55 const_iterator begin()
const {
return m_map.begin(); }
56 const_iterator end()
const {
return m_map.end(); }
58 std::size_t size()
const {
return m_map.size(); }
59 bool empty()
const {
return m_map.empty(); }
60 void clear() { m_map.clear(); }