MLIR  19.0.0git
Classes | Namespaces | Typedefs
StorageUniquer.h File Reference
#include "mlir/Support/LLVM.h"
#include "mlir/Support/LogicalResult.h"
#include "mlir/Support/TypeID.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Allocator.h"
#include <utility>

Go to the source code of this file.


class  mlir::StorageUniquer
 A utility class to get or create instances of "storage classes". More...
class  mlir::StorageUniquer::BaseStorage
 This class acts as the base storage that all storage classes must derived from. More...
class  mlir::StorageUniquer::StorageAllocator
 This is a utility allocator used to allocate memory for instances of derived types. More...


 Include the generated interface declarations.
 Detect if any of the given parameter types has a sub-element handler.


template<typename ImplTy , typename... Args>
using mlir::detail::has_impltype_getkey_t = decltype(ImplTy::getKey(std::declval< Args >()...))
 Trait to check if ImplTy provides a 'getKey' method with types 'Args'. More...
template<typename ImplTy , typename T >
using mlir::detail::has_impltype_hash_t = decltype(ImplTy::hashKey(std::declval< T >()))
 Trait to check if ImplTy provides a 'hashKey' method for 'T'. More...