1 //===-- SBThreadCollection.h ------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBThreadCollection_h_
11 #define LLDB_SBThreadCollection_h_
13 #include "lldb/API/SBDefines.h"
17 class LLDB_API SBThreadCollection {
21 SBThreadCollection(const SBThreadCollection &rhs);
23 const SBThreadCollection &operator=(const SBThreadCollection &rhs);
25 ~SBThreadCollection();
31 lldb::SBThread GetThreadAtIndex(size_t idx);
34 // Mimic shared pointer...
35 lldb_private::ThreadCollection *get() const;
37 lldb_private::ThreadCollection *operator->() const;
39 lldb::ThreadCollectionSP &operator*();
41 const lldb::ThreadCollectionSP &operator*() const;
43 SBThreadCollection(const lldb::ThreadCollectionSP &threads);
45 void SetOpaque(const lldb::ThreadCollectionSP &threads);
48 friend class SBProcess;
49 friend class SBThread;
51 lldb::ThreadCollectionSP m_opaque_sp;
56 #endif // LLDB_SBThreadCollection_h_