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 9namespace lldb { 10 11class SBStringList 12{ 13public: 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 58