LLVM 19.0.0git
DIAEnumSourceFiles.h
Go to the documentation of this file.
1//==- DIAEnumSourceFiles.h - DIA Source File Enumerator impl -----*- C++ -*-==//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_DEBUGINFO_PDB_DIA_DIAENUMSOURCEFILES_H
10#define LLVM_DEBUGINFO_PDB_DIA_DIAENUMSOURCEFILES_H
11
12#include "DIASupport.h"
15
16namespace llvm {
17namespace pdb {
18class DIASession;
19
20class DIAEnumSourceFiles : public IPDBEnumChildren<IPDBSourceFile> {
21public:
22 explicit DIAEnumSourceFiles(const DIASession &PDBSession,
23 CComPtr<IDiaEnumSourceFiles> DiaEnumerator);
24
25 uint32_t getChildCount() const override;
27 ChildTypePtr getNext() override;
28 void reset() override;
29
30private:
31 const DIASession &Session;
32 CComPtr<IDiaEnumSourceFiles> Enumerator;
33};
34}
35}
36
37#endif
uint32_t getChildCount() const override
ChildTypePtr getChildAtIndex(uint32_t Index) const override
ChildTypePtr getNext() override
std::unique_ptr< IPDBSourceFile > ChildTypePtr
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18