10 #ifndef LLVM_DEBUGINFO_PDB_CONCRETESYMBOLENUMERATOR_H 11 #define LLVM_DEBUGINFO_PDB_CONCRETESYMBOLENUMERATOR_H 23 template <
typename ChildType>
27 : Enumerator(
std::move(SymbolEnumerator)) {}
32 return Enumerator->getChildCount();
36 std::unique_ptr<PDBSymbol> Child = Enumerator->getChildAtIndex(Index);
37 return unique_dyn_cast_or_null<ChildType>(Child);
40 std::unique_ptr<ChildType>
getNext()
override {
41 return unique_dyn_cast_or_null<ChildType>(Enumerator->getNext());
44 void reset()
override { Enumerator->reset(); }
48 std::unique_ptr<IPDBEnumSymbols> Enumerator;
54 #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)