LLDB  mainline
SBThreadCollection.h
Go to the documentation of this file.
1 //===-- SBThreadCollection.h ------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_SBThreadCollection_h_
10 #define LLDB_SBThreadCollection_h_
11 
12 #include "lldb/API/SBDefines.h"
13 
14 namespace lldb {
15 
17 public:
19 
21 
22  const SBThreadCollection &operator=(const SBThreadCollection &rhs);
23 
25 
26  explicit operator bool() const;
27 
28  bool IsValid() const;
29 
30  size_t GetSize();
31 
32  lldb::SBThread GetThreadAtIndex(size_t idx);
33 
34 protected:
35  // Mimic shared pointer...
36  lldb_private::ThreadCollection *get() const;
37 
38  lldb_private::ThreadCollection *operator->() const;
39 
40  lldb::ThreadCollectionSP &operator*();
41 
42  const lldb::ThreadCollectionSP &operator*() const;
43 
44  SBThreadCollection(const lldb::ThreadCollectionSP &threads);
45 
46  void SetOpaque(const lldb::ThreadCollectionSP &threads);
47 
48 private:
49  friend class SBProcess;
50  friend class SBThread;
51 
52  lldb::ThreadCollectionSP m_opaque_sp;
53 };
54 
55 } // namespace lldb
56 
57 #endif // LLDB_SBThreadCollection_h_
const Scalar operator*(const Scalar &lhs, const Scalar &rhs)
Definition: Scalar.cpp:2161
class LLDB_API SBThreadCollection
Definition: SBDefines.h:74
#define LLDB_API
Definition: lldb-defines.h:23
Definition: SBAddress.h:15