SBFileSpecList.h revision 7dd5c51fbab8384b18f20ecc125f9a1bb3c9bcb2
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 const SBFileSpecList & 27 operator = (const lldb::SBFileSpecList &rhs); 28 29 uint32_t 30 GetSize () const; 31 32 bool 33 GetDescription (SBStream &description) const; 34 35 void 36 Append (const SBFileSpec &sb_file); 37 38 bool 39 AppendIfUnique (const SBFileSpec &sb_file); 40 41 void 42 Clear(); 43 44 uint32_t 45 FindFileIndex (uint32_t idx, const SBFileSpec &sb_file, bool full); 46 47 const SBFileSpec 48 GetFileSpecAtIndex (uint32_t idx) const; 49 50private: 51 52friend class SBTarget; 53 54 const lldb_private::FileSpecList * 55 operator->() const; 56 57 const lldb_private::FileSpecList * 58 get() const; 59 60 const lldb_private::FileSpecList & 61 operator*() const; 62 63 const lldb_private::FileSpecList & 64 ref() const; 65 66 std::auto_ptr <lldb_private::FileSpecList> m_opaque_ap; 67}; 68 69 70} // namespace lldb 71 72#endif // LLDB_SBFileSpecList_h_ 73