MLIR 22.0.0git
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:

Public Member Functions

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

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/stdvector. 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 = {})

Definition at line 387 of file Block.cpp.

References BlockRange(), and nullptr.

Referenced by BlockRange(), BlockRange(), BlockRange(), and BlockRange().

◆ BlockRange() [2/4]

BlockRange::BlockRange ( SuccessorRange successors)

Definition at line 392 of file Block.cpp.

References BlockRange(), and getBase().

◆ BlockRange() [3/4]

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

Definition at line 113 of file BlockSupport.h.

References BlockRange().

◆ BlockRange() [4/4]

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

Definition at line 115 of file BlockSupport.h.

References BlockRange().


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