namespace mlir {
namespace mesh {
enum class ReductionKind : uint32_t { … };
::std::optional<ReductionKind> symbolizeReductionKind(uint32_t);
::llvm::StringRef stringifyReductionKind(ReductionKind);
::std::optional<ReductionKind> symbolizeReductionKind(::llvm::StringRef);
inline constexpr unsigned getMaxEnumValForReductionKind() { … }
inline ::llvm::StringRef stringifyEnum(ReductionKind enumValue) { … }
template <typename EnumType>
::std::optional<EnumType> symbolizeEnum(::llvm::StringRef);
template <>
inline ::std::optional<ReductionKind> symbolizeEnum<ReductionKind>(::llvm::StringRef str) { … }
}
}
namespace mlir {
template <typename T, typename>
struct FieldParser;
template<>
struct FieldParser<::mlir::mesh::ReductionKind, ::mlir::mesh::ReductionKind> { … };
}
namespace llvm {
inline ::llvm::raw_ostream &operator<<(::llvm::raw_ostream &p, ::mlir::mesh::ReductionKind value) { … }
}
namespace llvm {
template<> struct DenseMapInfo<::mlir::mesh::ReductionKind> { … };
}