9 #ifndef LLVM_DEBUGINFO_PDB_CONCRETESYMBOLENUMERATOR_H 10 #define LLVM_DEBUGINFO_PDB_CONCRETESYMBOLENUMERATOR_H 22 template <
typename ChildType>
26 : Enumerator(
std::move(SymbolEnumerator)) {}
31 return Enumerator->getChildCount();
35 std::unique_ptr<PDBSymbol> Child = Enumerator->getChildAtIndex(Index);
36 return unique_dyn_cast_or_null<ChildType>(Child);
39 std::unique_ptr<ChildType>
getNext()
override {
40 return unique_dyn_cast_or_null<ChildType>(Enumerator->getNext());
43 void reset()
override { Enumerator->reset(); }
47 std::unique_ptr<IPDBEnumSymbols> Enumerator;
53 #endif // LLVM_DEBUGINFO_PDB_CONCRETESYMBOLENUMERATOR_H This class represents lattice values for constants.
std::unique_ptr< ChildType > getChildAtIndex(uint32_t Index) const override
uint32_t getChildCount() const override
std::unique_ptr< ChildType > getNext() override
~ConcreteSymbolEnumerator() override=default
ConcreteSymbolEnumerator(std::unique_ptr< IPDBEnumSymbols > SymbolEnumerator)