Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
//==- NativeEnumInjectedSources.cpp - Native Injected Source Enumerator --*-==//
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_NATIVE_NATIVEENUMINJECTEDSOURCES_H
10
#define LLVM_DEBUGINFO_PDB_NATIVE_NATIVEENUMINJECTEDSOURCES_H
11
 
12
#include "llvm/DebugInfo/PDB/IPDBEnumChildren.h"
13
#include "llvm/DebugInfo/PDB/IPDBInjectedSource.h"
14
#include "llvm/DebugInfo/PDB/Native/InjectedSourceStream.h"
15
 
16
namespace llvm {
17
namespace pdb {
18
 
19
class InjectedSourceStream;
20
class PDBFile;
21
class PDBStringTable;
22
 
23
class NativeEnumInjectedSources : public IPDBEnumChildren<IPDBInjectedSource> {
24
public:
25
  NativeEnumInjectedSources(PDBFile &File, const InjectedSourceStream &IJS,
26
                            const PDBStringTable &Strings);
27
 
28
  uint32_t getChildCount() const override;
29
  std::unique_ptr<IPDBInjectedSource>
30
  getChildAtIndex(uint32_t Index) const override;
31
  std::unique_ptr<IPDBInjectedSource> getNext() override;
32
  void reset() override;
33
 
34
private:
35
  PDBFile &File;
36
  const InjectedSourceStream &Stream;
37
  const PDBStringTable &Strings;
38
  InjectedSourceStream::const_iterator Cur;
39
};
40
 
41
} // namespace pdb
42
} // namespace llvm
43
 
44
#endif