Halide 22.0.0 Halide compiler and libraries

Protected Types | Protected Member Functions | List of all members
Halide::Internal::GeneratorOutput_Arithmetic< T > Class Template Reference

`#include <Generator.h>`

Inheritance diagram for Halide::Internal::GeneratorOutput_Arithmetic< T >:

## Protected Types
using | TBase = typename Super::TBase
Protected Types inherited from Halide::Internal::GeneratorOutputImpl< T >
using | TBase = std::remove_all_extents_t< T >
using | ValueType = Func

## Protected Member Functions
| GeneratorOutput_Arithmetic (const std::string &name)
| GeneratorOutput_Arithmetic (size_t array_size, const std::string &name)
Protected Member Functions inherited from Halide::Internal::GeneratorOutputImpl< T >
bool | is_array () const override
template<typename T2 = T, std::enable_if_t< !std::is_array_v< T2 > > * = nullptr>
| GeneratorOutputImpl (const std::string &name, ArgInfoKind kind, const std::vector< Type > &t, int d)
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > &&std::rank_v< T2 >==1 &&(std::extent_v< T2, 0 > > 0)> * = nullptr>
| GeneratorOutputImpl (const std::string &name, ArgInfoKind kind, const std::vector< Type > &t, int d)
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > &&std::rank_v< T2 >==1 &&std::extent_v< T2, 0 >==0 > * = nullptr>
| GeneratorOutputImpl (const std::string &name, ArgInfoKind kind, const std::vector< Type > &t, int d)
Protected Member Functions inherited from Halide::Internal::GeneratorOutputBase
template<typename T2 , std::enable_if_t< std::is_same_v< T2, Func > > * = nullptr>
HALIDE_NO_USER_CODE_INLINE T2 | as () const
| GeneratorOutputBase (size_t array_size, const std::string &name, ArgInfoKind kind, const std::vector< Type > &t, int d)
| GeneratorOutputBase (const std::string &name, ArgInfoKind kind, const std::vector< Type > &t, int d)
void | init_internals ()
void | resize (size_t size)
virtual std::string | get_c_type () const
void | check_value_writable () const override
const char * | input_or_output () const override
Protected Member Functions inherited from Halide::Internal::GIOBase
bool | array_size_defined () const
size_t | array_size () const
virtual bool | is_array () const
const std::string & | name () const
ArgInfoKind | kind () const
bool | gio_types_defined () const
const std::vector< Type > & | gio_types () const
Type | gio_type () const
bool | dims_defined () const
int | dims () const
const std::vector< Func > & | funcs () const
const std::vector< Expr > & | exprs () const
| GIOBase (size_t array_size, const std::string &name, ArgInfoKind kind, const std::vector< Type > &types, int dims)
std::string | array_name (size_t i) const
virtual void | verify_internals ()
void | check_matching_array_size (size_t size) const
void | check_matching_types (const std::vector< Type > &t) const
void | check_matching_dims (int d) const
template<typename ElemType >
const std::vector< ElemType > & | get_values () const
void | check_gio_access () const
virtual void | check_value_writable () const =0
virtual const char * | input_or_output () const =0
template<>
const std::vector< Expr > & | get_values () const
template<>
const std::vector< Func > & | get_values () const

## Additional Inherited Members
Public Member Functions inherited from Halide::Internal::GeneratorOutputImpl< T >
template<typename... Args, typename T2 = T, std::enable_if_t<!std::is_array_v< T2 > > * = nullptr>
FuncRef | operator() (Args &&...args) const
template<typename ExprOrVar , typename T2 = T, std::enable_if_t<!std::is_array_v< T2 > > * = nullptr>
FuncRef | operator() (std::vector< ExprOrVar > args) const
template<typename T2 = T, std::enable_if_t<!std::is_array_v< T2 > > * = nullptr>
| operator Func () const
template<typename T2 = T, std::enable_if_t<!std::is_array_v< T2 > > * = nullptr>
| operator Stage () const
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>
size_t | size () const
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>
const ValueType & | operator[] (size_t i) const
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>
const ValueType & | at (size_t i) const
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>
std::vector< ValueType >::const_iterator | begin () const
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>
std::vector< ValueType >::const_iterator | end () const
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > &&std::rank_v< T2 >==1 &&std::extent_v< T2, 0 >==0 > * = nullptr>
void | resize (size_t size)
Public Member Functions inherited from Halide::Internal::GeneratorOutputBase
void | set_type (const std::vector< Type > &types)
| Set types dynamically for tuple outputs. More...
| ~GeneratorOutputBase () override
void | set_type (const Type &type)
| Forward schedule-related methods to the underlying Func. More...
Public Member Functions inherited from Halide::Internal::GIOBase
virtual | ~GIOBase ()=default
void | set_type (const Type &type)
void | set_dimensions (int dims)
void | set_array_size (int size)
| GIOBase (const GIOBase &)=delete
GIOBase & | operator= (const GIOBase &)=delete
| GIOBase (GIOBase &&)=delete
GIOBase & | operator= (GIOBase &&)=delete
Protected Attributes inherited from Halide::Internal::GIOBase
int | array_size_
const std::string | name_
const ArgInfoKind | kind_
std::vector< Type > | types_
int | dims_
std::vector< Func > | funcs_
std::vector< Expr > | exprs_
GeneratorBase * | generator {nullptr}

## Detailed Description

template<typename T>
class Halide::Internal::GeneratorOutput_Arithmetic< T >

Definition at line 2775 of file Generator.h.

## Member Typedef Documentation

## ◆ TBase

template<typename T >

using Halide::Internal::GeneratorOutput_Arithmetic< T >::TBase = typename Super::TBase
| protected

Definition at line 2780 of file Generator.h.

## Constructor & Destructor Documentation

## ◆ GeneratorOutput_Arithmetic() [1/2]

template<typename T >

Halide::Internal::GeneratorOutput_Arithmetic< T >::GeneratorOutput_Arithmetic | ( | const std::string & | name | ) |
| inline explicit protected

Definition at line 2782 of file Generator.h.

## ◆ GeneratorOutput_Arithmetic() [2/2]

template<typename T >

Halide::Internal::GeneratorOutput_Arithmetic< T >::GeneratorOutput_Arithmetic | ( | size_t | array_size,
|  | const std::string & | name
| ) |  |
| inline protected

Definition at line 2786 of file Generator.h.

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

- src/Generator.h