Halide
Halide::ScheduleParam< T > Class Template Reference

A ScheduleParam is a "Param" that can contain a scalar Expr or a LoopLevel; unlike Param<>, its value cannot be set at runtime. More...

#include <Schedule.h>

Inherits Halide::Internal::ScheduleParamBase.

Public Member Functions

 ScheduleParam ()
 
 ScheduleParam (const std::string &name)
 
 ScheduleParam (const std::string &name, const T &value)
 
 ScheduleParam (const ScheduleParamBase &that)
 
- Public Member Functions inherited from Halide::Internal::ScheduleParamBase
const std::string & name () const
 
bool is_looplevel_param () const
 
const Typescalar_type () const
 
 operator Expr () const
 
 operator LoopLevel () const
 

Protected Member Functions

void set_from_string (const std::string &new_value_string) override
 
- Protected Member Functions inherited from Halide::Internal::ScheduleParamBase
EXPORT ScheduleParamBase (const Type &t, const std::string &name, bool is_explicit_name)
 
virtual EXPORT ~ScheduleParamBase ()
 
EXPORT ScheduleParamBase (const ScheduleParamBase &)
 
EXPORT ScheduleParamBaseoperator= (const ScheduleParamBase &)
 

Additional Inherited Members

- Protected Attributes inherited from Halide::Internal::ScheduleParamBase
std::string sp_name
 
Type type
 
Internal::Parameter scalar_parameter
 
Expr scalar_expr
 
LoopLevel loop_level
 

Detailed Description

template<typename T>
class Halide::ScheduleParam< T >

A ScheduleParam is a "Param" that can contain a scalar Expr or a LoopLevel; unlike Param<>, its value cannot be set at runtime.

All ScheduleParam values are finalized just before lowering, and must translate into a constant scalar value (or a well-defined LoopLevel) at that point. The value of should be bound to an actual value of type T using the set method before you realize the function uses this. If you're statically compiling, this param should not appear in the argument list.

Definition at line 17 of file Schedule.h.

Constructor & Destructor Documentation

◆ ScheduleParam() [1/4]

template<typename T >
Halide::ScheduleParam< T >::ScheduleParam ( )
inline

Definition at line 191 of file ScheduleParam.h.

◆ ScheduleParam() [2/4]

template<typename T >
Halide::ScheduleParam< T >::ScheduleParam ( const std::string &  name)
inlineexplicit

Definition at line 193 of file ScheduleParam.h.

◆ ScheduleParam() [3/4]

template<typename T >
Halide::ScheduleParam< T >::ScheduleParam ( const std::string &  name,
const T &  value 
)
inline

Definition at line 195 of file ScheduleParam.h.

◆ ScheduleParam() [4/4]

template<typename T >
Halide::ScheduleParam< T >::ScheduleParam ( const ScheduleParamBase that)
inlineexplicit

Definition at line 200 of file ScheduleParam.h.

Member Function Documentation

◆ set_from_string()

template<typename T >
void Halide::ScheduleParam< T >::set_from_string ( const std::string &  new_value_string)
inlineoverrideprotectedvirtual

Implements Halide::Internal::ScheduleParamBase.

Definition at line 186 of file ScheduleParam.h.


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