1 //===-- SBStringList.cpp ----------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "lldb/API/SBStringList.h"
12 #include "lldb/Core/StringList.h"
15 using namespace lldb_private;
17 SBStringList::SBStringList () :
22 SBStringList::SBStringList (const lldb_private::StringList *lldb_strings_ptr) :
26 m_opaque_ap.reset (new lldb_private::StringList (*lldb_strings_ptr));
29 SBStringList::SBStringList (const SBStringList &rhs) :
33 m_opaque_ap.reset (new lldb_private::StringList(*rhs));
38 SBStringList::operator = (const SBStringList &rhs)
43 m_opaque_ap.reset(new lldb_private::StringList(*rhs));
50 SBStringList::~SBStringList ()
54 const lldb_private::StringList *
55 SBStringList::operator->() const
57 return m_opaque_ap.get();
60 const lldb_private::StringList &
61 SBStringList::operator*() const
67 SBStringList::IsValid() const
69 return (m_opaque_ap.get() != NULL);
73 SBStringList::AppendString (const char *str)
78 m_opaque_ap->AppendString (str);
80 m_opaque_ap.reset (new lldb_private::StringList (str));
86 SBStringList::AppendList (const char **strv, int strc)
92 m_opaque_ap->AppendList (strv, strc);
94 m_opaque_ap.reset (new lldb_private::StringList (strv, strc));
99 SBStringList::AppendList (const SBStringList &strings)
101 if (strings.IsValid())
104 m_opaque_ap.reset (new lldb_private::StringList());
105 m_opaque_ap->AppendList (*(strings.m_opaque_ap));
110 SBStringList::GetSize () const
114 return m_opaque_ap->GetSize();
120 SBStringList::GetStringAtIndex (size_t idx)
124 return m_opaque_ap->GetStringAtIndex (idx);
130 SBStringList::Clear ()
134 m_opaque_ap->Clear();