namespace mlir {
namespace sparse_tensor {
class StageWithSortSparseOp;
namespace detail {
struct StageWithSortSparseOpInterfaceTraits { … };
template <typename ConcreteOp>
struct StageWithSortSparseOpTrait;
}
class StageWithSortSparseOp : public ::mlir::OpInterface<StageWithSortSparseOp, detail::StageWithSortSparseOpInterfaceTraits> { … };
namespace detail {
template <typename ConcreteOp>
struct StageWithSortSparseOpTrait : public ::mlir::OpInterface<StageWithSortSparseOp, detail::StageWithSortSparseOpInterfaceTraits>::Trait<ConcreteOp> { … };
}
}
}
namespace mlir {
namespace sparse_tensor {
template<typename ConcreteOp>
bool detail::StageWithSortSparseOpInterfaceTraits::Model<ConcreteOp>::needsExtraSort(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
template<typename ConcreteOp>
::llvm::LogicalResult detail::StageWithSortSparseOpInterfaceTraits::Model<ConcreteOp>::stageWithSort(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::PatternRewriter & rewriter, Value & tmpBuf) { … }
template<typename ConcreteOp>
bool detail::StageWithSortSparseOpInterfaceTraits::FallbackModel<ConcreteOp>::needsExtraSort(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
template<typename ConcreteOp>
::llvm::LogicalResult detail::StageWithSortSparseOpInterfaceTraits::FallbackModel<ConcreteOp>::stageWithSort(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::PatternRewriter & rewriter, Value & tmpBuf) { … }
}
}