Halide 22.0.0 Halide compiler and libraries

Public Member Functions | List of all members
Halide::Internal::VariadicVisitor< T, ExprRet, StmtRet > Class Template Reference

A visitor/mutator capable of passing arbitrary arguments to the visit methods using CRTP and returning any types from them. More...

`#include <IRVisitor.h>`

## Public Member Functions
template<typename... Args>
HALIDE_ALWAYS_INLINE StmtRet | dispatch (const Stmt &s, Args &&...args)
template<typename... Args>
HALIDE_ALWAYS_INLINE StmtRet | dispatch (Stmt &&s, Args &&...args)
template<typename... Args>
HALIDE_ALWAYS_INLINE ExprRet | dispatch (const Expr &e, Args &&...args)
template<typename... Args>
HALIDE_ALWAYS_INLINE ExprRet | dispatch (Expr &&e, Args &&...args)

## Detailed Description

template<typename T, typename ExprRet, typename StmtRet>
class Halide::Internal::VariadicVisitor< T, ExprRet, StmtRet >

A visitor/mutator capable of passing arbitrary arguments to the visit methods using CRTP and returning any types from them.

All Expr visitors must have the same signature, and all Stmt visitors must have the same signature. Does not have default implementations of the visit methods.

Definition at line 350 of file IRVisitor.h.

## Member Function Documentation

## ◆ dispatch() [1/4]

template<typename T , typename ExprRet , typename StmtRet >
template<typename... Args>

HALIDE_ALWAYS_INLINE StmtRet Halide::Internal::VariadicVisitor< T, ExprRet, StmtRet >::dispatch | ( | const Stmt & | s,
|  | Args &&... | args
| ) |  |
| inline

Definition at line 524 of file IRVisitor.h.

References Halide::Internal::Stmt::get().

## ◆ dispatch() [2/4]

template<typename T , typename ExprRet , typename StmtRet >
template<typename... Args>

HALIDE_ALWAYS_INLINE StmtRet Halide::Internal::VariadicVisitor< T, ExprRet, StmtRet >::dispatch | ( | Stmt && | s,
|  | Args &&... | args
| ) |  |
| inline

Definition at line 529 of file IRVisitor.h.

## ◆ dispatch() [3/4]

template<typename T , typename ExprRet , typename StmtRet >
template<typename... Args>

HALIDE_ALWAYS_INLINE ExprRet Halide::Internal::VariadicVisitor< T, ExprRet, StmtRet >::dispatch | ( | const Expr & | e,
|  | Args &&... | args
| ) |  |
| inline

Definition at line 534 of file IRVisitor.h.

References Halide::Expr::get().

## ◆ dispatch() [4/4]

template<typename T , typename ExprRet , typename StmtRet >
template<typename... Args>

HALIDE_ALWAYS_INLINE ExprRet Halide::Internal::VariadicVisitor< T, ExprRet, StmtRet >::dispatch | ( | Expr && | e,
|  | Args &&... | args
| ) |  |
| inline

Definition at line 539 of file IRVisitor.h.

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

- src/IRVisitor.h