MLIR  17.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:
+ Collaboration diagram for mlir::BlockRange:

Public Member Functions

 BlockRange (ArrayRef< Block * > blocks=std::nullopt)
 
 BlockRange (SuccessorRange successors)
 
template<typename Arg , 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 103 of file BlockSupport.h.

Constructor & Destructor Documentation

◆ BlockRange() [1/4]

BlockRange::BlockRange ( ArrayRef< Block * >  blocks = std::nullopt)

Definition at line 340 of file Block.cpp.

◆ BlockRange() [2/4]

BlockRange::BlockRange ( SuccessorRange  successors)

Definition at line 345 of file Block.cpp.

◆ BlockRange() [3/4]

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

Definition at line 113 of file BlockSupport.h.

◆ BlockRange() [4/4]

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

Definition at line 115 of file BlockSupport.h.


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