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.