Halide
Halide::Internal::GeneratorInput_Func< T > Class Template Reference

#include <Generator.h>

Inherits Halide::Internal::GeneratorInputImpl< T, Func >.

Public Member Functions

 GeneratorInput_Func (const std::string &name, const Type &t, int d)
 
 GeneratorInput_Func (const std::string &name, int d)
 
 GeneratorInput_Func (const std::string &name, const Type &t)
 
 GeneratorInput_Func (const std::string &name)
 
 GeneratorInput_Func (size_t array_size, const std::string &name, const Type &t, int d)
 
 GeneratorInput_Func (size_t array_size, const std::string &name, int d)
 
 GeneratorInput_Func (size_t array_size, const std::string &name, const Type &t)
 
 GeneratorInput_Func (size_t array_size, const std::string &name)
 
template<typename... Args>
Expr operator() (Args &&...args) const
 
Expr operator() (const std::vector< Expr > &args) const
 
 operator Func () const
 
 operator ExternFuncArgument () const
 
GeneratorInput_Func< T > & set_estimate (Var var, Expr min, Expr extent)
 
GeneratorInput_Func< T > & set_estimates (const Region &estimates)
 
Func in ()
 
Func in (const Func &other)
 
Func in (const std::vector< Func > &others)
 
- Public Member Functions inherited from Halide::Internal::GeneratorInputImpl< T, Func >
size_t size () const
 
const Funcoperator[] (size_t i) const
 
const Funcat (size_t i) const
 
std::vector< Func >::const_iterator begin () const
 
std::vector< Func >::const_iterator end () const
 
- Public Member Functions inherited from Halide::Internal::GeneratorInputBase
 ~GeneratorInputBase () override
 
- 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
 
GIOBaseoperator= (const GIOBase &)=delete
 
 GIOBase (GIOBase &&)=delete
 
GIOBaseoperator= (GIOBase &&)=delete
 

Protected Types

using TBase = typename Super::TBase
 
- Protected Types inherited from Halide::Internal::GeneratorInputImpl< T, Func >
using TBase = typename std::remove_all_extents< T >::type
 

Protected Member Functions

std::string get_c_type () const override
 
template<typename T2 >
T2 as () const
 
- Protected Member Functions inherited from Halide::Internal::GeneratorInputImpl< T, Func >
bool is_array () const override
 
 GeneratorInputImpl (const std::string &name, ArgInfoKind kind, const std::vector< Type > &t, int d)
 
 GeneratorInputImpl (const std::string &name, ArgInfoKind kind, const std::vector< Type > &t, int d)
 
 GeneratorInputImpl (const std::string &name, ArgInfoKind kind, const std::vector< Type > &t, int d)
 
- Protected Member Functions inherited from Halide::Internal::GeneratorInputBase
 GeneratorInputBase (size_t array_size, const std::string &name, ArgInfoKind kind, const std::vector< Type > &t, int d)
 
 GeneratorInputBase (const std::string &name, ArgInfoKind kind, const std::vector< Type > &t, int d)
 
Parameter parameter () const
 
void init_internals ()
 
void set_inputs (const std::vector< StubInput > &inputs)
 
virtual void set_def_min_max ()
 
void verify_internals () override
 
void check_value_writable () const override
 
const char * input_or_output () const override
 
void set_estimate_impl (const Var &var, const Expr &min, const Expr &extent)
 
void set_estimates_impl (const Region &estimates)
 
- 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
 
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
 
template<>
const std::vector< Expr > & get_values () const
 
template<>
const std::vector< Func > & get_values () const
 

Additional Inherited Members

- Protected Attributes inherited from Halide::Internal::GeneratorInputBase
std::vector< Parameterparameters_
 
bool inputs_set = false
 
- Protected Attributes inherited from Halide::Internal::GIOBase
int array_size_
 
const std::string name_
 
const ArgInfoKind kind_
 
std::vector< Typetypes_
 
int dims_
 
std::vector< Funcfuncs_
 
std::vector< Exprexprs_
 
GeneratorBasegenerator {nullptr}
 

Detailed Description

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

Definition at line 1824 of file Generator.h.

Member Typedef Documentation

◆ TBase

template<typename T >
using Halide::Internal::GeneratorInput_Func< T >::TBase = typename Super::TBase
protected

Definition at line 1829 of file Generator.h.

Constructor & Destructor Documentation

◆ GeneratorInput_Func() [1/8]

template<typename T >
Halide::Internal::GeneratorInput_Func< T >::GeneratorInput_Func ( const std::string &  name,
const Type t,
int  d 
)
inline

Definition at line 1841 of file Generator.h.

◆ GeneratorInput_Func() [2/8]

template<typename T >
Halide::Internal::GeneratorInput_Func< T >::GeneratorInput_Func ( const std::string &  name,
int  d 
)
inline

Definition at line 1846 of file Generator.h.

◆ GeneratorInput_Func() [3/8]

template<typename T >
Halide::Internal::GeneratorInput_Func< T >::GeneratorInput_Func ( const std::string &  name,
const Type t 
)
inline

Definition at line 1851 of file Generator.h.

◆ GeneratorInput_Func() [4/8]

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

Definition at line 1856 of file Generator.h.

◆ GeneratorInput_Func() [5/8]

template<typename T >
Halide::Internal::GeneratorInput_Func< T >::GeneratorInput_Func ( size_t  array_size,
const std::string &  name,
const Type t,
int  d 
)
inline

Definition at line 1860 of file Generator.h.

◆ GeneratorInput_Func() [6/8]

template<typename T >
Halide::Internal::GeneratorInput_Func< T >::GeneratorInput_Func ( size_t  array_size,
const std::string &  name,
int  d 
)
inline

Definition at line 1865 of file Generator.h.

◆ GeneratorInput_Func() [7/8]

template<typename T >
Halide::Internal::GeneratorInput_Func< T >::GeneratorInput_Func ( size_t  array_size,
const std::string &  name,
const Type t 
)
inline

Definition at line 1870 of file Generator.h.

◆ GeneratorInput_Func() [8/8]

template<typename T >
Halide::Internal::GeneratorInput_Func< T >::GeneratorInput_Func ( size_t  array_size,
const std::string &  name 
)
inline

Definition at line 1875 of file Generator.h.

Member Function Documentation

◆ get_c_type()

template<typename T >
std::string Halide::Internal::GeneratorInput_Func< T >::get_c_type ( ) const
inlineoverrideprotectedvirtual

Implements Halide::Internal::GeneratorInputBase.

Definition at line 1831 of file Generator.h.

◆ as()

template<typename T >
template<typename T2 >
T2 Halide::Internal::GeneratorInput_Func< T >::as ( ) const
inlineprotected

Definition at line 1836 of file Generator.h.

◆ operator()() [1/2]

template<typename T >
template<typename... Args>
Expr Halide::Internal::GeneratorInput_Func< T >::operator() ( Args &&...  args) const
inline

◆ operator()() [2/2]

template<typename T >
Expr Halide::Internal::GeneratorInput_Func< T >::operator() ( const std::vector< Expr > &  args) const
inline

◆ operator Func()

template<typename T >
Halide::Internal::GeneratorInput_Func< T >::operator Func ( ) const
inline

◆ operator ExternFuncArgument()

◆ set_estimate()

template<typename T >
GeneratorInput_Func<T>& Halide::Internal::GeneratorInput_Func< T >::set_estimate ( Var  var,
Expr  min,
Expr  extent 
)
inline

◆ set_estimates()

template<typename T >
GeneratorInput_Func<T>& Halide::Internal::GeneratorInput_Func< T >::set_estimates ( const Region estimates)
inline

◆ in() [1/3]

template<typename T >
Func Halide::Internal::GeneratorInput_Func< T >::in ( )
inline

◆ in() [2/3]

template<typename T >
Func Halide::Internal::GeneratorInput_Func< T >::in ( const Func other)
inline

◆ in() [3/3]

template<typename T >
Func Halide::Internal::GeneratorInput_Func< T >::in ( const std::vector< Func > &  others)
inline

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