MLIR  14.0.0git
Public Member Functions | List of all members
mlir::TypeRange Class Reference

This class provides an abstraction over the various different ranges of value types. More...

#include "mlir/IR/TypeRange.h"

Inheritance diagram for mlir::TypeRange:
Inheritance graph
[legend]
Collaboration diagram for mlir::TypeRange:
Collaboration graph
[legend]

Public Member Functions

 TypeRange (ArrayRef< Type > types=llvm::None)
 
 TypeRange (OperandRange values)
 
 TypeRange (ResultRange values)
 
 TypeRange (ValueRange values)
 
 TypeRange (ArrayRef< Value > values)
 
 TypeRange (ArrayRef< BlockArgument > values)
 
template<typename ValueRangeT >
 TypeRange (ValueTypeRange< ValueRangeT > values)
 
template<typename Arg , typename = typename std::enable_if_t< std::is_constructible<ArrayRef<Type>, Arg>::value>>
 TypeRange (Arg &&arg)
 
 TypeRange (std::initializer_list< Type > types)
 

Detailed Description

This class provides an abstraction over the various different ranges of value types.

In many cases, this prevents the need to explicitly materialize a SmallVector/std::vector. This class should be used in places that are not suitable for a more derived type (e.g. ArrayRef) or a template range parameter.

Definition at line 38 of file TypeRange.h.

Constructor & Destructor Documentation

◆ TypeRange() [1/9]

TypeRange::TypeRange ( ArrayRef< Type types = llvm::None)

Definition at line 17 of file TypeRange.cpp.

Referenced by mlir::TypeRangeRange::TypeRangeRange().

◆ TypeRange() [2/9]

TypeRange::TypeRange ( OperandRange  values)
explicit

Definition at line 22 of file TypeRange.cpp.

◆ TypeRange() [3/9]

TypeRange::TypeRange ( ResultRange  values)
explicit

Definition at line 24 of file TypeRange.cpp.

◆ TypeRange() [4/9]

TypeRange::TypeRange ( ValueRange  values)
explicit

Definition at line 28 of file TypeRange.cpp.

References mlir::Type::dyn_cast(), and value.

◆ TypeRange() [5/9]

TypeRange::TypeRange ( ArrayRef< Value values)
explicit

Definition at line 26 of file TypeRange.cpp.

◆ TypeRange() [6/9]

mlir::TypeRange::TypeRange ( ArrayRef< BlockArgument values)
inlineexplicit

Definition at line 50 of file TypeRange.h.

◆ TypeRange() [7/9]

template<typename ValueRangeT >
mlir::TypeRange::TypeRange ( ValueTypeRange< ValueRangeT >  values)
inline

Definition at line 53 of file TypeRange.h.

References value.

◆ TypeRange() [8/9]

template<typename Arg , typename = typename std::enable_if_t< std::is_constructible<ArrayRef<Type>, Arg>::value>>
mlir::TypeRange::TypeRange ( Arg &&  arg)
inline

Definition at line 59 of file TypeRange.h.

◆ TypeRange() [9/9]

mlir::TypeRange::TypeRange ( std::initializer_list< Type types)
inline

Definition at line 60 of file TypeRange.h.


The documentation for this class was generated from the following files: