DIAEnumDebugStreams.h 1000 B

1234567891011121314151617181920212223242526272829303132333435
  1. //==- DIAEnumDebugStreams.h - DIA Debug Stream Enumerator impl ---*- C++ -*-==//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is distributed under the University of Illinois Open Source
  6. // License. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. #ifndef LLVM_DEBUGINFO_PDB_DIA_DIAENUMDEBUGSTREAMS_H
  10. #define LLVM_DEBUGINFO_PDB_DIA_DIAENUMDEBUGSTREAMS_H
  11. #include "DIASupport.h"
  12. #include "llvm/DebugInfo/PDB/IPDBEnumChildren.h"
  13. namespace llvm {
  14. class IPDBDataStream;
  15. class DIAEnumDebugStreams : public IPDBEnumChildren<IPDBDataStream> {
  16. public:
  17. explicit DIAEnumDebugStreams(CComPtr<IDiaEnumDebugStreams> DiaEnumerator);
  18. uint32_t getChildCount() const override;
  19. ChildTypePtr getChildAtIndex(uint32_t Index) const override;
  20. ChildTypePtr getNext() override;
  21. void reset() override;
  22. DIAEnumDebugStreams *clone() const override;
  23. private:
  24. CComPtr<IDiaEnumDebugStreams> Enumerator;
  25. };
  26. }
  27. #endif