namespace mlir {
namespace accomp {
class RecipeInterface;
namespace detail {
struct RecipeInterfaceInterfaceTraits { … };
template <typename ConcreteOp>
struct RecipeInterfaceTrait;
}
class RecipeInterface : public ::mlir::OpInterface<RecipeInterface, detail::RecipeInterfaceInterfaceTraits> { … };
namespace detail {
template <typename ConcreteOp>
struct RecipeInterfaceTrait : public ::mlir::OpInterface<RecipeInterface, detail::RecipeInterfaceInterfaceTraits>::Trait<ConcreteOp> { … };
}
}
}
namespace mlir {
namespace accomp {
template<typename ConcreteOp>
::mlir::Block *detail::RecipeInterfaceInterfaceTraits::Model<ConcreteOp>::getAllocaBlock(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Region & region) { … }
template<typename ConcreteOp>
::mlir::Block *detail::RecipeInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getAllocaBlock(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::mlir::Region & region) { … }
template<typename ConcreteModel, typename ConcreteOp>
::mlir::Block *detail::RecipeInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::getAllocaBlock(::mlir::Operation *tablegen_opaque_val, ::mlir::Region ®ion) const { … }
}
}