]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/lldb/bindings/interface/SBStringList.i
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / contrib / llvm-project / lldb / bindings / interface / SBStringList.i
1 //===-- SWIG Interface for SBStringList -------------------------*- 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 namespace lldb {
10
11 class SBStringList
12 {
13 public:
14
15     SBStringList ();
16
17     SBStringList (const lldb::SBStringList &rhs);
18
19     ~SBStringList ();
20
21     bool
22     IsValid() const;
23
24     explicit operator bool() const;
25
26     void
27     AppendString (const char *str);
28
29     void
30     AppendList (const char **strv, int strc);
31
32     void
33     AppendList (const lldb::SBStringList &strings);
34
35     uint32_t
36     GetSize () const;
37
38     const char *
39     GetStringAtIndex (size_t idx);
40
41     void
42     Clear ();
43
44 #ifdef SWIGPYTHON
45     %pythoncode%{
46     def __iter__(self):
47         '''Iterate over all strings in a lldb.SBStringList object.'''
48         return lldb_iter(self, 'GetSize', 'GetStringAtIndex')
49
50     def __len__(self):
51         '''Return the number of strings in a lldb.SBStringList object.'''
52         return self.GetSize()
53     %}
54 #endif
55 };
56
57 } // namespace lldb