llvm/tools/mlir/test/lib/Dialect/Test/TestAttrInterfaces.h.inc

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Interface Declarations                                                     *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

namespace mlir {
class TestExternalAttrInterface;
namespace detail {
struct TestExternalAttrInterfaceInterfaceTraits {};
template <typename ConcreteAttr>
struct TestExternalAttrInterfaceTrait;

} // namespace detail
class TestExternalAttrInterface : public ::mlir::AttributeInterface<TestExternalAttrInterface, detail::TestExternalAttrInterfaceInterfaceTraits> {};
namespace detail {
  template <typename ConcreteAttr>
  struct TestExternalAttrInterfaceTrait : public ::mlir::AttributeInterface<TestExternalAttrInterface, detail::TestExternalAttrInterfaceInterfaceTraits>::Trait<ConcreteAttr> {};
}// namespace detail
} // namespace mlir
namespace mlir {
class TestOptionallyImplementedAttrInterface;
namespace detail {
struct TestOptionallyImplementedAttrInterfaceInterfaceTraits {};
template <typename ConcreteAttr>
struct TestOptionallyImplementedAttrInterfaceTrait;

} // namespace detail
class TestOptionallyImplementedAttrInterface : public ::mlir::AttributeInterface<TestOptionallyImplementedAttrInterface, detail::TestOptionallyImplementedAttrInterfaceInterfaceTraits> {};
namespace detail {
  template <typename ConcreteAttr>
  struct TestOptionallyImplementedAttrInterfaceTrait : public ::mlir::AttributeInterface<TestOptionallyImplementedAttrInterface, detail::TestOptionallyImplementedAttrInterfaceInterfaceTraits>::Trait<ConcreteAttr> {};
}// namespace detail
} // namespace mlir
namespace mlir {
template<typename ConcreteAttr>
const ::mlir::Dialect *detail::TestExternalAttrInterfaceInterfaceTraits::Model<ConcreteAttr>::getDialectPtr(const Concept *impl, ::mlir::Attribute tablegen_opaque_val) {}
template<typename ConcreteAttr>
int detail::TestExternalAttrInterfaceInterfaceTraits::Model<ConcreteAttr>::getSomeNumber() {}
template<typename ConcreteAttr>
const ::mlir::Dialect *detail::TestExternalAttrInterfaceInterfaceTraits::FallbackModel<ConcreteAttr>::getDialectPtr(const Concept *impl, ::mlir::Attribute tablegen_opaque_val) {}
template<typename ConcreteAttr>
int detail::TestExternalAttrInterfaceInterfaceTraits::FallbackModel<ConcreteAttr>::getSomeNumber() {}
} // namespace mlir
namespace mlir {
template<typename ConcreteAttr>
bool detail::TestOptionallyImplementedAttrInterfaceInterfaceTraits::Model<ConcreteAttr>::getImplementsInterface(const Concept *impl, ::mlir::Attribute tablegen_opaque_val) {}
template<typename ConcreteAttr>
bool detail::TestOptionallyImplementedAttrInterfaceInterfaceTraits::FallbackModel<ConcreteAttr>::getImplementsInterface(const Concept *impl, ::mlir::Attribute tablegen_opaque_val) {}
} // namespace mlir