Jonas Devlieghere 0a5703458b [lldb/SWIG] Guard embedded Python code in SWIG interfaces by SWIGPYTHON
Guard the embedded Python code in LLDB's interface files by the
SWIGPYTHON define to ensures they can be reused for other languages
supported by SWIG.
2019-12-08 14:48:51 -08:00

58 lines
1.2 KiB
C++

//===-- 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