mirror of
https://github.com/intel/llvm.git
synced 2026-01-17 23:45:25 +08:00
All the code required to generate the language bindings for Python and Lua lives under scripts, even though the majority of this code aren't scripts at all, and surrounded by scripts that are totally unrelated. I've reorganized these files and moved everything related to the language bindings into a new top-level directory named bindings. This makes the corresponding files self contained and much more discoverable. Differential revision: https://reviews.llvm.org/D72437
58 lines
1.2 KiB
C++
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
|