Halide 18.0.0
Halide compiler and libraries
|
GIOBase is the base class for all GeneratorInput<> and GeneratorOutput<> instantiations; it is not part of the public API and should never be used directly by user code. More...
#include <Generator.h>
Public Member Functions | |
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 | |
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} |
GIOBase is the base class for all GeneratorInput<> and GeneratorOutput<> instantiations; it is not part of the public API and should never be used directly by user code.
Every GIOBase instance can be either a single value or an array-of-values; each of these values can be an Expr or a Func. (Note that for an array-of-values, the types/dimensions of all values in the array must match.)
A GIOBase can have multiple Types, in which case it represents a Tuple. (Note that Tuples are currently only supported for GeneratorOutput, but it is likely that GeneratorInput will be extended to support Tuple as well.)
The array-size, type(s), and dimensions can all be left "unspecified" at creation time, in which case they may assume values provided by a Stub. (It is important to note that attempting to use a GIOBase with unspecified values will assert-fail; you must ensure that all unspecified values are filled in prior to use.)
Definition at line 1443 of file Generator.h.
|
virtualdefault |
|
protected |
|
delete |
void Halide::Internal::GIOBase::set_dimensions | ( | int | dims | ) |
void Halide::Internal::GIOBase::set_array_size | ( | int | size | ) |
|
protected |
|
protected |
|
protected |
Referenced by Halide::Internal::GeneratorInput_Buffer< T >::operator ImageParam(), Halide::Internal::GeneratorOutput_Buffer< T >::operator OutputImageParam(), Halide::Internal::GeneratorInput_Buffer< T >::operator StubInputBuffer< T2 >(), Halide::Internal::GeneratorOutput_Buffer< T >::operator=(), and Halide::Internal::GeneratorOutput_Buffer< T >::set_estimates().
|
protected |
Referenced by Halide::Internal::GeneratorOutputBase::as().
|
protected |
Referenced by Halide::Internal::GeneratorOutput_Buffer< T >::operator=().
|
protected |
Referenced by Halide::Internal::GeneratorOutput_Buffer< T >::operator=().
|
protected |
Referenced by Halide::Internal::GeneratorOutput_Buffer< T >::operator=().
|
protected |
Referenced by Halide::Internal::GeneratorOutput_Buffer< T >::operator=().
Referenced by get_values(), Halide::Internal::GeneratorInput_DynamicScalar< T >::operator Expr(), Halide::Internal::GeneratorInput_Scalar< T >::operator Expr(), Halide::Internal::GeneratorInput_DynamicScalar< T >::operator ExternFuncArgument(), and Halide::Internal::GeneratorInput_Scalar< T >::operator ExternFuncArgument().
|
protected |
|
protectedvirtual |
Reimplemented in Halide::Internal::GeneratorInputBase.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by Halide::Internal::GeneratorInputImpl< T, ValueType >::at(), Halide::Internal::GeneratorInput_Buffer< T >::at(), Halide::Internal::GeneratorOutputImpl< T >::at(), Halide::Internal::GeneratorInputImpl< T, ValueType >::begin(), Halide::Internal::GeneratorOutputImpl< T >::begin(), Halide::Internal::GeneratorInputImpl< T, ValueType >::end(), Halide::Internal::GeneratorOutputImpl< T >::end(), Halide::Internal::GeneratorInput_Buffer< T >::in(), Halide::Internal::GeneratorInput_Func< T >::in(), Halide::Internal::GeneratorInput_Buffer< T >::in(), Halide::Internal::GeneratorInput_Func< T >::in(), Halide::Internal::GeneratorInput_Buffer< T >::in(), Halide::Internal::GeneratorInput_Func< T >::in(), Halide::Internal::GeneratorInput_DynamicScalar< T >::operator Expr(), Halide::Internal::GeneratorInput_Scalar< T >::operator Expr(), Halide::Internal::GeneratorInput_Buffer< T >::operator ExternFuncArgument(), Halide::Internal::GeneratorInput_Func< T >::operator ExternFuncArgument(), Halide::Internal::GeneratorInput_DynamicScalar< T >::operator ExternFuncArgument(), Halide::Internal::GeneratorInput_Scalar< T >::operator ExternFuncArgument(), Halide::Internal::GeneratorInput_Buffer< T >::operator Func(), Halide::Internal::GeneratorInput_Func< T >::operator Func(), Halide::Internal::GeneratorOutputImpl< T >::operator Func(), Halide::Internal::GeneratorInput_Buffer< T >::operator ImageParam(), Halide::Internal::GeneratorOutput_Buffer< T >::operator OutputImageParam(), Halide::Internal::GeneratorOutputImpl< T >::operator Stage(), Halide::Internal::GeneratorInput_Buffer< T >::operator()(), Halide::Internal::GeneratorInput_Func< T >::operator()(), Halide::Internal::GeneratorOutputImpl< T >::operator()(), Halide::Internal::GeneratorInput_Func< T >::operator()(), Halide::Internal::GeneratorInput_Buffer< T >::operator()(), Halide::Internal::GeneratorOutputImpl< T >::operator()(), Halide::Internal::GeneratorOutput_Buffer< T >::operator=(), Halide::Internal::GeneratorOutput_Buffer< T >::operator=(), Halide::Internal::GeneratorOutput_Buffer< T >::operator=(), Halide::Internal::GeneratorOutput_Buffer< T >::operator[](), Halide::Internal::GeneratorInputImpl< T, ValueType >::operator[](), Halide::Internal::GeneratorInput_Buffer< T >::operator[](), Halide::Internal::GeneratorOutputImpl< T >::operator[](), Halide::Internal::GeneratorOutput_Buffer< T >::operator[](), Halide::Internal::GeneratorOutputImpl< T >::resize(), Halide::Internal::GeneratorInput_DynamicScalar< T >::set_estimate(), Halide::Internal::GeneratorInput_Scalar< T >::set_estimate(), Halide::Internal::GeneratorInput_Scalar< T >::set_estimate(), Halide::Internal::GeneratorInput_Buffer< T >::set_estimate(), Halide::Internal::GeneratorInput_Func< T >::set_estimate(), Halide::Internal::GeneratorInput_Buffer< T >::set_estimates(), Halide::Internal::GeneratorInput_Func< T >::set_estimates(), Halide::Internal::GeneratorInputImpl< T, ValueType >::size(), Halide::Internal::GeneratorInput_Buffer< T >::size(), and Halide::Internal::GeneratorOutputImpl< T >::size().
|
protectedpure virtual |
Implemented in Halide::Internal::GeneratorInputBase, and Halide::Internal::GeneratorOutputBase.
Implemented in Halide::Internal::GeneratorInputBase, and Halide::Internal::GeneratorOutputBase.
|
inlineprotected |
Definition at line 1529 of file Generator.h.
References exprs().
|
inlineprotected |
Definition at line 1534 of file Generator.h.
References funcs().
|
mutableprotected |
Definition at line 1480 of file Generator.h.
|
protected |
Definition at line 1483 of file Generator.h.
|
protected |
Definition at line 1484 of file Generator.h.
|
mutableprotected |
Definition at line 1485 of file Generator.h.
|
mutableprotected |
Definition at line 1486 of file Generator.h.
|
protected |
Definition at line 1489 of file Generator.h.
Referenced by Halide::Internal::GeneratorOutputBase::as(), Halide::Internal::GeneratorOutput_Buffer< T >::operator OutputImageParam(), Halide::Internal::GeneratorOutput_Buffer< T >::operator=(), and Halide::Internal::GeneratorOutput_Buffer< T >::set_estimates().
|
protected |
Definition at line 1490 of file Generator.h.
Referenced by Halide::Internal::GeneratorOutputBase::as(), Halide::Internal::GeneratorOutput_Buffer< T >::operator OutputImageParam(), Halide::Internal::GeneratorOutput_Buffer< T >::operator=(), and Halide::Internal::GeneratorOutput_Buffer< T >::set_estimates().
|
protected |
Definition at line 1497 of file Generator.h.