9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_DBIMODULELIST_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_DBIMODULELIST_H
29struct FileInfoSubstreamHeader;
33 std::random_access_iterator_tag, StringRef> {
34 using BaseType =
typename DbiModuleSourceFilesIterator::iterator_facade_base;
59 bool isUniversalEnd()
const;
99 std::vector<uint32_t> ModuleInitialFileIndex;
104 std::vector<uint32_t> ModuleDescriptorOffsets;
Lightweight arrays that are backed by an arbitrary BinaryStream.
BinaryStreamRef is to BinaryStream what ArrayRef is to an Array.
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
FixedStreamArray is similar to VarStreamArray, except with each record having a fixed-length.
StringRef - Represent a constant reference to a string, i.e.
CRTP base class which implements the entire standard iterator facade in terms of a minimal subset of ...
A range adaptor for a pair of iterators.
DbiModuleDescriptor getModuleDescriptor(uint32_t Modi) const
uint32_t getModuleCount() const
Error initialize(BinaryStreamRef ModInfo, BinaryStreamRef FileInfo)
uint32_t getSourceFileCount() const
iterator_range< DbiModuleSourceFilesIterator > source_files(uint32_t Modi) const
Expected< StringRef > getFileName(uint32_t Index) const
DbiModuleSourceFilesIterator()=default
DbiModuleSourceFilesIterator & operator-=(std::ptrdiff_t N)
std::ptrdiff_t operator-(const DbiModuleSourceFilesIterator &R) const
bool operator==(const DbiModuleSourceFilesIterator &R) const
DbiModuleSourceFilesIterator(const DbiModuleSourceFilesIterator &R)=default
DbiModuleSourceFilesIterator & operator+=(std::ptrdiff_t N)
const StringRef & operator*() const
bool operator<(const DbiModuleSourceFilesIterator &RHS) const
DbiModuleSourceFilesIterator & operator=(const DbiModuleSourceFilesIterator &R)=default
This provides a very simple, boring adaptor for a begin and end iterator into a range type.
This is an optimization pass for GlobalISel generic memory operations.