namespace mlir {
namespace acc {
class ComputeRegionOpInterface;
namespace detail {
struct ComputeRegionOpInterfaceInterfaceTraits { … };
template <typename ConcreteOp>
struct ComputeRegionOpInterfaceTrait;
}
class ComputeRegionOpInterface : public ::mlir::OpInterface<ComputeRegionOpInterface, detail::ComputeRegionOpInterfaceInterfaceTraits> { … };
namespace detail {
template <typename ConcreteOp>
struct ComputeRegionOpInterfaceTrait : public ::mlir::OpInterface<ComputeRegionOpInterface, detail::ComputeRegionOpInterfaceInterfaceTraits>::Trait<ConcreteOp> { … };
}
}
}
namespace mlir {
namespace acc {
template<typename ConcreteOp>
::mlir::Block*detail::ComputeRegionOpInterfaceInterfaceTraits::Model<ConcreteOp>::getAllocaBlock(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
template<typename ConcreteOp>
::mlir::Block*detail::ComputeRegionOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getAllocaBlock(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) { … }
}
}