LLVM: lib/DebugInfo/PDB/Native/NativeEnumSymbols.cpp Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

10

14

15using namespace llvm;

18

20 std::vector Symbols)

21 : Symbols(std::move(Symbols)), Index(0), Session(PDBSession) {}

22

24 return static_cast<uint32_t>(Symbols.size());

25}

26

27std::unique_ptr

29 if (N < Symbols.size()) {

30 return Session.getSymbolCache().getSymbolById(Symbols[N]);

31 }

32 return nullptr;

33}

34

38

std::unique_ptr< PDBSymbol > getNext() override

Definition NativeEnumSymbols.cpp:35

uint32_t getChildCount() const override

Definition NativeEnumSymbols.cpp:23

NativeEnumSymbols(NativeSession &Session, std::vector< SymIndexId > Symbols)

Definition NativeEnumSymbols.cpp:19

std::unique_ptr< PDBSymbol > getChildAtIndex(uint32_t Index) const override

Definition NativeEnumSymbols.cpp:28

void reset() override

Definition NativeEnumSymbols.cpp:39

This is an optimization pass for GlobalISel generic memory operations.

OutputIt move(R &&Range, OutputIt Out)

Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.

Implement std::hash so that hash_code can be used in STL containers.