LLVM 19.0.0git
DIAEnumSectionContribs.h
Go to the documentation of this file.
1//==- DIAEnumSectionContribs.h --------------------------------- -*- 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_DIAENUMSECTIONCONTRIBS_H
10#define LLVM_DEBUGINFO_PDB_DIA_DIAENUMSECTIONCONTRIBS_H
11
12#include "DIASupport.h"
15
16namespace llvm {
17namespace pdb {
18class DIASession;
19
20class DIAEnumSectionContribs : public IPDBEnumChildren<IPDBSectionContrib> {
21public:
23 const DIASession &PDBSession,
24 CComPtr<IDiaEnumSectionContribs> DiaEnumerator);
25
26 uint32_t getChildCount() const override;
28 ChildTypePtr getNext() override;
29 void reset() override;
30
31private:
32 const DIASession &Session;
33 CComPtr<IDiaEnumSectionContribs> Enumerator;
34};
35} // namespace pdb
36} // namespace llvm
37
38#endif // LLVM_DEBUGINFO_PDB_DIA_DIAENUMSECTIONCONTRIBS_H
ChildTypePtr getChildAtIndex(uint32_t Index) const override
std::unique_ptr< IPDBSectionContrib > ChildTypePtr
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18