MLIR  20.0.0git
Namespaces | Typedefs | Functions | Variables
TemplateExtras.h File Reference
#include <utility>
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/raw_ostream.h"

Go to the source code of this file.

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::sparse_tensor
 
 mlir::sparse_tensor::ir_detail
 

Typedefs

template<typename T >
using mlir::sparse_tensor::ir_detail::has_print_method = decltype(std::declval< T >().print(std::declval< llvm::raw_ostream & >()))
 
template<typename T >
using mlir::sparse_tensor::ir_detail::detect_has_print_method = llvm::is_detected< has_print_method, T >
 
template<typename T , typename R = void>
using mlir::sparse_tensor::ir_detail::enable_if_has_print_method = std::enable_if_t< detect_has_print_method< T >::value, R >
 

Functions

template<typename T >
enable_if_has_print_method< T, llvm::raw_ostream & > mlir::sparse_tensor::ir_detail::operator<< (llvm::raw_ostream &os, T const &t)
 Generic template for defining operator<< overloads which delegate to T::print(raw_ostream&) const. More...
 

Variables

template<typename T >
static constexpr bool mlir::sparse_tensor::ir_detail::IsZeroCostAbstraction