9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_TPISTREAM_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_TPISTREAM_H
24struct TypeIndexOffset;
25class LazyRandomTypeCollection;
28class MappedBlockStream;
31struct TpiStreamHeader;
78 std::unique_ptr<msf::MappedBlockStream> Stream;
80 std::unique_ptr<codeview::LazyRandomTypeCollection> Types;
86 std::unique_ptr<BinaryStream> HashStream;
91 std::vector<std::vector<codeview::TypeIndex>> HashMap;
Lightweight arrays that are backed by an arbitrary BinaryStream.
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.
Provides amortized O(1) random access to a CodeView type stream.
A range adaptor for a pair of iterators.
uint32_t getHashKeySize() const
BinarySubstreamRef getTypeRecordsSubstream() const
HashTable< support::ulittle32_t > & getHashAdjusters()
std::vector< codeview::TypeIndex > findRecordsByName(StringRef Name) const
uint32_t TypeIndexBegin() const
PdbRaw_TpiVer getTpiVersion() const
codeview::CVTypeRange types(bool *HadError) const
FixedStreamArray< codeview::TypeIndexOffset > getTypeIndexOffsets() const
codeview::CVType getType(codeview::TypeIndex Index)
uint16_t getTypeHashStreamAuxIndex() const
const codeview::CVTypeArray & typeArray() const
uint16_t getTypeHashStreamIndex() const
bool supportsTypeLookup() const
FixedStreamArray< support::ulittle32_t > getHashValues() const
Expected< codeview::TypeIndex > findFullDeclForForwardRef(codeview::TypeIndex ForwardRefTI) const
uint32_t getNumTypeRecords() const
codeview::LazyRandomTypeCollection & typeCollection()
uint32_t TypeIndexEnd() const
uint32_t getNumHashBuckets() const
This is an optimization pass for GlobalISel generic memory operations.