1343171Sdim//==- DIAEnumFrameData.h --------------------------------------- -*- C++ -*-==//
2343171Sdim//
3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353358Sdim// See https://llvm.org/LICENSE.txt for license information.
5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6343171Sdim//
7343171Sdim//===----------------------------------------------------------------------===//
8343171Sdim
9343171Sdim#ifndef LLVM_DEBUGINFO_PDB_DIA_DIAENUMFRAMEDATA_H
10343171Sdim#define LLVM_DEBUGINFO_PDB_DIA_DIAENUMFRAMEDATA_H
11343171Sdim
12343171Sdim#include "DIASupport.h"
13343171Sdim#include "llvm/DebugInfo/PDB/IPDBEnumChildren.h"
14343171Sdim#include "llvm/DebugInfo/PDB/IPDBFrameData.h"
15343171Sdim
16343171Sdimnamespace llvm {
17343171Sdimnamespace pdb {
18343171Sdim
19343171Sdimclass DIAEnumFrameData : public IPDBEnumChildren<IPDBFrameData> {
20343171Sdimpublic:
21343171Sdim  explicit DIAEnumFrameData(CComPtr<IDiaEnumFrameData> DiaEnumerator);
22343171Sdim
23343171Sdim  uint32_t getChildCount() const override;
24343171Sdim  ChildTypePtr getChildAtIndex(uint32_t Index) const override;
25343171Sdim  ChildTypePtr getNext() override;
26343171Sdim  void reset() override;
27343171Sdim
28343171Sdimprivate:
29343171Sdim  CComPtr<IDiaEnumFrameData> Enumerator;
30343171Sdim};
31343171Sdim
32343171Sdim} // namespace pdb
33343171Sdim} // namespace llvm
34343171Sdim
35343171Sdim#endif
36