Home | History | Annotate | Download | only in API
      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 
     15 namespace lldb {
     16 
     17 class SBFileSpecList
     18 {
     19 public:
     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 
     50 private:
     51 
     52 friend 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::unique_ptr<lldb_private::FileSpecList> m_opaque_ap;
     67 };
     68 
     69 
     70 } // namespace lldb
     71 
     72 #endif // LLDB_SBFileSpecList_h_
     73