15 using namespace llvm::pdb;
18 CComPtr<IDiaEnumDebugStreams> DiaEnumerator)
23 return (S_OK == Enumerator->get_Count(&Count)) ? Count : 0;
26 std::unique_ptr<IPDBDataStream>
28 CComPtr<IDiaEnumDebugStreamData> Item;
31 VarIndex.lVal = Index;
32 if (S_OK != Enumerator->Item(VarIndex, &Item))
35 return std::unique_ptr<IPDBDataStream>(
new DIADataStream(Item));
39 CComPtr<IDiaEnumDebugStreamData> Item;
41 if (S_OK != Enumerator->Next(1, &Item, &NumFetched))
44 return std::unique_ptr<IPDBDataStream>(
new DIADataStream(Item));
50 CComPtr<IDiaEnumDebugStreams> EnumeratorClone;
51 if (S_OK != Enumerator->Clone(&EnumeratorClone))
DIAEnumDebugStreams * clone() const override
ChildTypePtr getNext() override
DIAEnumDebugStreams(CComPtr< IDiaEnumDebugStreams > DiaEnumerator)
uint32_t getChildCount() const override
ChildTypePtr getChildAtIndex(uint32_t Index) const override