LLVM: include/llvm/DebugInfo/PDB/Native/DbiModuleList.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_DBIMODULELIST_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_DBIMODULELIST_H
11
21#include
22#include
23#include
24#include
25
26namespace llvm {
27namespace pdb {
28
31
34 std::random_access_iterator_tag, StringRef> {
35 using BaseType = DbiModuleSourceFilesIterator::iterator_facade_base;
36
37public:
44
46
49
55
56private:
57 void setValue();
58
59 bool isEnd() const;
61 bool isUniversalEnd() const;
62
67};
68
70 friend DbiModuleSourceFilesIterator;
71
72public:
74
79
82
84
85private:
88
90
93
94
95
96
97
98
99
100
101 std::vector<uint32_t> ModuleInitialFileIndex;
102
103
104
105
106 std::vector<uint32_t> ModuleDescriptorOffsets;
107
109
113};
114
115}
116}
117
118#endif
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.
Definition DbiModuleList.h:69
LLVM_ABI DbiModuleDescriptor getModuleDescriptor(uint32_t Modi) const
LLVM_ABI uint32_t getModuleCount() const
LLVM_ABI Error initialize(BinaryStreamRef ModInfo, BinaryStreamRef FileInfo)
LLVM_ABI uint32_t getSourceFileCount() const
LLVM_ABI iterator_range< DbiModuleSourceFilesIterator > source_files(uint32_t Modi) const
LLVM_ABI Expected< StringRef > getFileName(uint32_t Index) const
Definition DbiModuleList.h:34
DbiModuleSourceFilesIterator()=default
LLVM_ABI DbiModuleSourceFilesIterator & operator-=(std::ptrdiff_t N)
LLVM_ABI DbiModuleSourceFilesIterator(const DbiModuleList &Modules, uint32_t Modi, uint16_t Filei)
LLVM_ABI std::ptrdiff_t operator-(const DbiModuleSourceFilesIterator &R) const
LLVM_ABI bool operator==(const DbiModuleSourceFilesIterator &R) const
DbiModuleSourceFilesIterator(const DbiModuleSourceFilesIterator &R)=default
LLVM_ABI DbiModuleSourceFilesIterator & operator+=(std::ptrdiff_t N)
const StringRef & operator*() const
Definition DbiModuleList.h:47
StringRef & operator*()
Definition DbiModuleList.h:48
LLVM_ABI 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.