================ @@ -46,8 +46,59 @@ SaveCoreOptions::GetOutputFile() const { return m_file; } +void SaveCoreOptions::AddThread(lldb::tid_t tid) { + if (m_threads_to_save.count(tid) == 0) + m_threads_to_save.emplace(tid); +} + +bool SaveCoreOptions::RemoveThread(lldb::tid_t tid) { + if (m_threads_to_save.count(tid) == 0) { + m_threads_to_save.erase(tid); + return true; + } + + return false; +} + +size_t SaveCoreOptions::GetNumThreads() const { + return m_threads_to_save.size(); +} + +int64_t SaveCoreOptions::GetThreadAtIndex(size_t index) const { + auto iter = m_threads_to_save.begin(); + while (index >= 0 && iter != m_threads_to_save.end()) { + if (index == 0) + return *iter; + index--; + iter++; + } ---------------- clayborg wrote:
If this list is large, then this function can be quite inefficient. But probably ok for now. https://github.com/llvm/llvm-project/pull/100443 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits