Halide
Halide::Internal::Stmt Struct Reference

A reference-counted handle to a statement node. More...

#include <Expr.h>

Inherits Halide::Internal::IRHandle.

Classes

struct  Compare
 This lets you use a Stmt as a key in a map of the form map<Stmt, Foo, Stmt::Compare> More...
 

Public Member Functions

 Stmt ()=default
 
 Stmt (const BaseStmtNode *n)
 
const HALIDE_ALWAYS_INLINE BaseStmtNodeget () const
 Override get() to return a BaseStmtNode * instead of an IRNode *. More...
 
- Public Member Functions inherited from Halide::Internal::IRHandle
HALIDE_ALWAYS_INLINE IRHandle ()=default
 
HALIDE_ALWAYS_INLINE IRHandle (const IRNode *p)
 
void accept (IRVisitor *v) const
 Dispatch to the correct visitor method for this node. More...
 
template<typename T >
const T * as () const
 Downcast this ir node to its actual type (e.g. More...
 
IRNodeType node_type () const
 
- Public Member Functions inherited from Halide::Internal::IntrusivePtr< const IRNode >
const IRNodeget () const
 Access the raw pointer in a variety of ways. More...
 
const IRNodeoperator* () const
 
const IRNodeoperator-> () const
 
 ~IntrusivePtr ()
 
HALIDE_ALWAYS_INLINE IntrusivePtr ()=default
 
HALIDE_ALWAYS_INLINE IntrusivePtr (const IRNode *p)
 
HALIDE_ALWAYS_INLINE IntrusivePtr (const IntrusivePtr< const IRNode > &other) noexcept
 
HALIDE_ALWAYS_INLINE IntrusivePtr (IntrusivePtr< const IRNode > &&other) noexcept
 
IntrusivePtr< const IRNode > & operator= (const IntrusivePtr< const IRNode > &other)
 
IntrusivePtr< const IRNode > & operator= (IntrusivePtr< const IRNode > &&other) noexcept
 
HALIDE_ALWAYS_INLINE bool defined () const
 
HALIDE_ALWAYS_INLINE bool same_as (const IntrusivePtr &other) const
 
HALIDE_ALWAYS_INLINE bool operator< (const IntrusivePtr< const IRNode > &other) const
 

Additional Inherited Members

- Protected Attributes inherited from Halide::Internal::IntrusivePtr< const IRNode >
const IRNodeptr
 

Detailed Description

A reference-counted handle to a statement node.

Definition at line 409 of file Expr.h.

Constructor & Destructor Documentation

◆ Stmt() [1/2]

Halide::Internal::Stmt::Stmt ( )
default

◆ Stmt() [2/2]

Halide::Internal::Stmt::Stmt ( const BaseStmtNode n)
inline

Definition at line 411 of file Expr.h.

Member Function Documentation

◆ get()

const HALIDE_ALWAYS_INLINE BaseStmtNode* Halide::Internal::Stmt::get ( ) const
inline

Override get() to return a BaseStmtNode * instead of an IRNode *.

Definition at line 417 of file Expr.h.

References Halide::Internal::IntrusivePtr< const IRNode >::ptr.

Referenced by Halide::Internal::VariadicVisitor< Simplify, Expr, Stmt >::dispatch().


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