diff options
-rw-r--r-- | lldb/include/lldb/Core/ThreadSafeDenseMap.h | 22 | ||||
-rw-r--r-- | lldb/include/lldb/Core/ThreadSafeDenseSet.h | 7 |
2 files changed, 28 insertions, 1 deletions
diff --git a/lldb/include/lldb/Core/ThreadSafeDenseMap.h b/lldb/include/lldb/Core/ThreadSafeDenseMap.h index f5a7ccfb2ff..6b2b59b7617 100644 --- a/lldb/include/lldb/Core/ThreadSafeDenseMap.h +++ b/lldb/include/lldb/Core/ThreadSafeDenseMap.h @@ -54,7 +54,27 @@ public: Mutex::Locker locker(m_mutex); return m_map.lookup(k); } - + + bool + Lookup (_KeyType k, + _ValueType& v) + { + Mutex::Locker locker(m_mutex); + auto iter = m_map.find(k), + end = m_map.end(); + if (iter == end) + return false; + v = iter->second; + return true; + } + + void + Clear () + { + Mutex::Locker locker(m_mutex); + m_map.clear(); + } + protected: LLVMMapType m_map; Mutex m_mutex; diff --git a/lldb/include/lldb/Core/ThreadSafeDenseSet.h b/lldb/include/lldb/Core/ThreadSafeDenseSet.h index 19c67b65e8c..e019c70ed5e 100644 --- a/lldb/include/lldb/Core/ThreadSafeDenseSet.h +++ b/lldb/include/lldb/Core/ThreadSafeDenseSet.h @@ -55,6 +55,13 @@ namespace lldb_private { return (m_set.count(e) > 0); } + void + Clear () + { + Mutex::Locker locker(m_mutex); + m_set.clear(); + } + protected: LLVMSetType m_set; Mutex m_mutex; |