namespace mlir {
namespace utils {
enum class IteratorType : uint32_t { … };
::std::optional<IteratorType> symbolizeIteratorType(uint32_t);
::llvm::StringRef stringifyIteratorType(IteratorType);
::std::optional<IteratorType> symbolizeIteratorType(::llvm::StringRef);
inline constexpr unsigned getMaxEnumValForIteratorType() { … }
inline ::llvm::StringRef stringifyEnum(IteratorType enumValue) { … }
template <typename EnumType>
::std::optional<EnumType> symbolizeEnum(::llvm::StringRef);
template <>
inline ::std::optional<IteratorType> symbolizeEnum<IteratorType>(::llvm::StringRef str) { … }
}
}
namespace mlir {
template <typename T, typename>
struct FieldParser;
template<>
struct FieldParser<::mlir::utils::IteratorType, ::mlir::utils::IteratorType> { … };
}
namespace llvm {
inline ::llvm::raw_ostream &operator<<(::llvm::raw_ostream &p, ::mlir::utils::IteratorType value) { … }
}
namespace llvm {
template<> struct DenseMapInfo<::mlir::utils::IteratorType> { … };
}