Halide
Halide::Internal::BaseExprNode Struct Referenceabstract

A base class for expression nodes. More...

#include <Expr.h>

Inherits Halide::Internal::IRNode.

Inherited by Halide::Internal::ExprNode< Add >, Halide::Internal::ExprNode< And >, Halide::Internal::ExprNode< Broadcast >, Halide::Internal::ExprNode< Call >, Halide::Internal::ExprNode< Cast >, Halide::Internal::ExprNode< Div >, Halide::Internal::ExprNode< EQ >, Halide::Internal::ExprNode< FloatImm >, Halide::Internal::ExprNode< GE >, Halide::Internal::ExprNode< GT >, Halide::Internal::ExprNode< IntImm >, Halide::Internal::ExprNode< LE >, Halide::Internal::ExprNode< Let >, Halide::Internal::ExprNode< Load >, Halide::Internal::ExprNode< LT >, Halide::Internal::ExprNode< Max >, Halide::Internal::ExprNode< Min >, Halide::Internal::ExprNode< Mod >, Halide::Internal::ExprNode< Mul >, Halide::Internal::ExprNode< NE >, Halide::Internal::ExprNode< Not >, Halide::Internal::ExprNode< Or >, Halide::Internal::ExprNode< Ramp >, Halide::Internal::ExprNode< Reinterpret >, Halide::Internal::ExprNode< Select >, Halide::Internal::ExprNode< Shuffle >, Halide::Internal::ExprNode< StringImm >, Halide::Internal::ExprNode< Sub >, Halide::Internal::ExprNode< UIntImm >, Halide::Internal::ExprNode< Variable >, Halide::Internal::ExprNode< VectorReduce >, and Halide::Internal::ExprNode< T >.

Public Member Functions

 BaseExprNode (IRNodeType t)
 
virtual Expr mutate_expr (IRMutator *v) const =0
 
- Public Member Functions inherited from Halide::Internal::IRNode
virtual void accept (IRVisitor *v) const =0
 We use the visitor pattern to traverse IR nodes throughout the compiler, so we have a virtual accept method which accepts visitors. More...
 
 IRNode (IRNodeType t)
 
virtual ~IRNode ()=default
 

Public Attributes

Type type
 
- Public Attributes inherited from Halide::Internal::IRNode
RefCount ref_count
 These classes are all managed with intrusive reference counting, so we also track a reference count. More...
 
IRNodeType node_type
 Each IR node subclass has a unique identifier. More...
 

Detailed Description

A base class for expression nodes.

They all contain their types (e.g. Int(32), Float(32))

Definition at line 142 of file Expr.h.

Constructor & Destructor Documentation

◆ BaseExprNode()

Halide::Internal::BaseExprNode::BaseExprNode ( IRNodeType  t)
inline

Definition at line 143 of file Expr.h.

Member Function Documentation

◆ mutate_expr()

Member Data Documentation

◆ type


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