MLIR  14.0.0git
Public Member Functions | List of all members
mlir::BlockRange Class Referencefinal

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

#include "mlir/IR/BlockSupport.h"

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

Public Member Functions

 BlockRange (ArrayRef< Block *> blocks=llvm::None)
 
 BlockRange (SuccessorRange successors)
 
template<typename Arg , typename = typename std::enable_if_t< std::is_constructible<ArrayRef<Block *>, Arg>::value>>
 BlockRange (Arg &&arg)
 
 BlockRange (std::initializer_list< Block *> blocks)
 

Detailed Description

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

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 104 of file BlockSupport.h.

Constructor & Destructor Documentation

◆ BlockRange() [1/4]

BlockRange::BlockRange ( ArrayRef< Block *>  blocks = llvm::None)

Definition at line 338 of file Block.cpp.

◆ BlockRange() [2/4]

BlockRange::BlockRange ( SuccessorRange  successors)

Definition at line 343 of file Block.cpp.

◆ BlockRange() [3/4]

template<typename Arg , typename = typename std::enable_if_t< std::is_constructible<ArrayRef<Block *>, Arg>::value>>
mlir::BlockRange::BlockRange ( Arg &&  arg)
inline

Definition at line 115 of file BlockSupport.h.

◆ BlockRange() [4/4]

mlir::BlockRange::BlockRange ( std::initializer_list< Block *>  blocks)
inline

Definition at line 117 of file BlockSupport.h.


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