class Archive

Declaration

class Archive : public Binary { /* full declaration omitted */ };

Declared at: llvm/include/llvm/Object/Archive.h:159

Inherits from: Binary

Member Variables

protected llvm::StringRef SymbolTable
protected llvm::StringRef StringTable
private llvm::StringRef FirstRegularData
private uint16_t FirstRegularStartOfFile = -1
private unsigned int Format
private unsigned int IsThin
private std::vector<std::unique_ptr<MemoryBuffer>> ThinBuffers
public static const uint64_t MaxMemberSize = 9999999999L
Size field is 10 decimal digits long

Inherited from Binary:

protected Data

Method Overview

  • public Archive(llvm::MemoryBufferRef Source, llvm::Error & Err)
  • private virtual void anchor()
  • public llvm::object::Archive::child_iterator child_begin(llvm::Error & Err, bool SkipInternal = true) const
  • public llvm::object::Archive::child_iterator child_end() const
  • public iterator_range<llvm::object::Archive::child_iterator> children(llvm::Error & Err, bool SkipInternal = true) const
  • public static bool classof(const llvm::object::Binary * v)
  • public static Expected<std::unique_ptr<Archive>> create(llvm::MemoryBufferRef Source)
  • public std::unique_ptr<AbstractArchiveMemberHeader> createArchiveMemberHeader(const char * RawHeaderPtr, uint64_t Size, llvm::Error * Err) const
  • public Expected<Optional<llvm::object::Archive::Child>> findSym(llvm::StringRef name) const
  • protected uint64_t getArchiveMagicLen() const
  • public static object::Archive::Kind getDefaultKindForHost()
  • public virtual uint64_t getFirstChildOffset() const
  • public uint32_t getNumberOfSymbols() const
  • public llvm::StringRef getStringTable() const
  • public llvm::StringRef getSymbolTable() const
  • public bool hasSymbolTable() const
  • public virtual bool isEmpty() const
  • public bool isThin() const
  • public llvm::object::Archive::Kind kind() const
  • protected void setFirstRegular(const llvm::object::Archive::Child & C)
  • public llvm::object::Archive::symbol_iterator symbol_begin() const
  • public llvm::object::Archive::symbol_iterator symbol_end() const
  • public iterator_range<llvm::object::Archive::symbol_iterator> symbols() const
  • public std::vector<std::unique_ptr<MemoryBuffer>> takeThinBuffers()

Inherited from Binary:

Methods

Archive(llvm::MemoryBufferRef Source,
        llvm::Error& Err)

Declared at: llvm/include/llvm/Object/Archive.h:333

Parameters

llvm::MemoryBufferRef Source
llvm::Error& Err

virtual void anchor()

Declared at: llvm/include/llvm/Object/Archive.h:160

llvm::object::Archive::child_iterator child_begin(
    llvm::Error& Err,
    bool SkipInternal = true) const

Declared at: llvm/include/llvm/Object/Archive.h:345

Parameters

llvm::Error& Err
bool SkipInternal = true

llvm::object::Archive::child_iterator child_end()
    const

Declared at: llvm/include/llvm/Object/Archive.h:346

iterator_range<
    llvm::object::Archive::child_iterator>
children(llvm::Error& Err,
         bool SkipInternal = true) const

Declared at: llvm/include/llvm/Object/Archive.h:347

Parameters

llvm::Error& Err
bool SkipInternal = true

static bool classof(const llvm::object::Binary* v)

Declared at: llvm/include/llvm/Object/Archive.h:358

Parameters

const llvm::object::Binary* v

static Expected<std::unique_ptr<Archive>> create(
    llvm::MemoryBufferRef Source)

Declared at: llvm/include/llvm/Object/Archive.h:334

Parameters

llvm::MemoryBufferRef Source

std::unique_ptr<AbstractArchiveMemberHeader>
createArchiveMemberHeader(
    const char* RawHeaderPtr,
    uint64_t Size,
    llvm::Error* Err) const

Declared at: llvm/include/llvm/Object/Archive.h:375

Parameters

const char* RawHeaderPtr
uint64_t Size
llvm::Error* Err

Expected<Optional<llvm::object::Archive::Child>>
findSym(llvm::StringRef name) const

Declared at: llvm/include/llvm/Object/Archive.h:361

Parameters

llvm::StringRef name

uint64_t getArchiveMagicLen() const

Declared at: llvm/include/llvm/Object/Archive.h:379

static object::Archive::Kind
getDefaultKindForHost()

Declared at: llvm/include/llvm/Object/Archive.h:343

virtual uint64_t getFirstChildOffset() const

Declared at: llvm/include/llvm/Object/Archive.h:368

uint32_t getNumberOfSymbols() const

Declared at: llvm/include/llvm/Object/Archive.h:367

llvm::StringRef getStringTable() const

Declared at: llvm/include/llvm/Object/Archive.h:366

llvm::StringRef getSymbolTable() const

Declared at: llvm/include/llvm/Object/Archive.h:365

bool hasSymbolTable() const

Declared at: llvm/include/llvm/Object/Archive.h:364

virtual bool isEmpty() const

Declared at: llvm/include/llvm/Object/Archive.h:363

bool isThin() const

Declared at: llvm/include/llvm/Object/Archive.h:342

llvm::object::Archive::Kind kind() const

Declared at: llvm/include/llvm/Object/Archive.h:341

void setFirstRegular(
    const llvm::object::Archive::Child& C)

Declared at: llvm/include/llvm/Object/Archive.h:380

Parameters

const llvm::object::Archive::Child& C

llvm::object::Archive::symbol_iterator
symbol_begin() const

Declared at: llvm/include/llvm/Object/Archive.h:352

llvm::object::Archive::symbol_iterator
symbol_end() const

Declared at: llvm/include/llvm/Object/Archive.h:353

iterator_range<
    llvm::object::Archive::symbol_iterator>
symbols() const

Declared at: llvm/include/llvm/Object/Archive.h:354

std::vector<std::unique_ptr<MemoryBuffer>>
takeThinBuffers()

Declared at: llvm/include/llvm/Object/Archive.h:370