SBFileSpecList.h revision 03c8ee5aeafcd6c43f10002a4f8096af01780f86
1//===-- SBFileSpecList.h --------------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef LLDB_SBFileSpecList_h_ 11#define LLDB_SBFileSpecList_h_ 12 13#include "lldb/API/SBDefines.h" 14 15namespace lldb { 16 17class SBFileSpecList 18{ 19public: 20 SBFileSpecList (); 21 22 SBFileSpecList (const lldb::SBFileSpecList &rhs); 23 24 ~SBFileSpecList (); 25 26#ifndef SWIG 27 const SBFileSpecList & 28 operator = (const lldb::SBFileSpecList &rhs); 29#endif 30 31 uint32_t 32 GetSize () const; 33 34 bool 35 GetDescription (SBStream &description) const; 36 37 void 38 Append (const SBFileSpec &sb_file); 39 40 bool 41 AppendIfUnique (const SBFileSpec &sb_file); 42 43 void 44 Clear(); 45 46 uint32_t 47 FindFileIndex (uint32_t idx, const SBFileSpec &sb_file); 48 49 const SBFileSpec 50 GetFileSpecAtIndex (uint32_t idx) const; 51 52private: 53 54#ifndef SWIG 55 56 const lldb_private::FileSpecList * 57 operator->() const; 58 59 const lldb_private::FileSpecList * 60 get() const; 61 62 const lldb_private::FileSpecList & 63 operator*() const; 64 65 const lldb_private::FileSpecList & 66 ref() const; 67 68#endif 69 70 std::auto_ptr <lldb_private::FileSpecList> m_opaque_ap; 71}; 72 73 74} // namespace lldb 75 76#endif // LLDB_SBFileSpecList_h_ 77