Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Halide::Internal::Stmt Struct Reference

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

#include <Expr.h>

Inheritance diagram for Halide::Internal::Stmt:
Halide::Internal::IRHandle Halide::Internal::IntrusivePtr< const IRNode >

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)
 
HALIDE_ALWAYS_INLINE const BaseStmtNodeget () const
 Override get() to return a BaseStmtNode * instead of an IRNode *.
 
- 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.
 
template<typename T >
const T * as () const
 Downcast this ir node to its actual type (e.g.
 
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.
 
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
 
HALIDE_ALWAYS_INLINE bool is_sole_reference () 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 427 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 429 of file Expr.h.

Member Function Documentation

◆ get()

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

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

Definition at line 435 of file Expr.h.

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

Referenced by Halide::Internal::VariadicVisitor< T, ExprRet, StmtRet >::dispatch().


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