aboutsummaryrefslogtreecommitdiff
path: root/lldb/bindings/interface/SBStringList.i
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/bindings/interface/SBStringList.i')
-rw-r--r--lldb/bindings/interface/SBStringList.i57
1 files changed, 57 insertions, 0 deletions
diff --git a/lldb/bindings/interface/SBStringList.i b/lldb/bindings/interface/SBStringList.i
new file mode 100644
index 000000000000..c8e1e357ed2b
--- /dev/null
+++ b/lldb/bindings/interface/SBStringList.i
@@ -0,0 +1,57 @@
+//===-- SWIG Interface for SBStringList -------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+namespace lldb {
+
+class SBStringList
+{
+public:
+
+ SBStringList ();
+
+ SBStringList (const lldb::SBStringList &rhs);
+
+ ~SBStringList ();
+
+ bool
+ IsValid() const;
+
+ explicit operator bool() const;
+
+ void
+ AppendString (const char *str);
+
+ void
+ AppendList (const char **strv, int strc);
+
+ void
+ AppendList (const lldb::SBStringList &strings);
+
+ uint32_t
+ GetSize () const;
+
+ const char *
+ GetStringAtIndex (size_t idx);
+
+ void
+ Clear ();
+
+#ifdef SWIGPYTHON
+ %pythoncode%{
+ def __iter__(self):
+ '''Iterate over all strings in a lldb.SBStringList object.'''
+ return lldb_iter(self, 'GetSize', 'GetStringAtIndex')
+
+ def __len__(self):
+ '''Return the number of strings in a lldb.SBStringList object.'''
+ return self.GetSize()
+ %}
+#endif
+};
+
+} // namespace lldb