Loading...
Searching...
No Matches
Halide::Internal::GeneratorOutputBase Class Reference

`#include <Generator.h>`

Inheritance diagram for Halide::Internal::GeneratorOutputBase:

## Public Member Functions

void | set_type (const std::vector< Type > &types)
| Set types dynamically for tuple outputs.
| ~GeneratorOutputBase () override
void | set_type (const Type &type)
| Forward schedule-related methods to the underlying Func.
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 Member Functions

template<typename T2, typename std::enable_if< std::is_same< T2, Func >::value >::type * = 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
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::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

Definition at line 2263 of file Generator.h.

## Constructor & Destructor Documentation

## GeneratorOutputBase() [1/2]

Halide::Internal::GeneratorOutputBase::GeneratorOutputBase | ( | size_t | array_size,
|  | const std::string & | name,
|  | ArgInfoKind | kind,
|  | const std::vector< Type > & | t,
|  | int | d )

protected

References Halide::Internal::GIOBase::array_size(), Halide::Internal::GIOBase::kind(), and Halide::Internal::GIOBase::name().

Referenced by Halide::Internal::GeneratorOutputImpl< T >::GeneratorOutputImpl().

## GeneratorOutputBase() [2/2]

Halide::Internal::GeneratorOutputBase::GeneratorOutputBase | ( | const std::string & | name,
|  | ArgInfoKind | kind,
|  | const std::vector< Type > & | t,
|  | int | d )

protected

References Halide::Internal::GIOBase::kind(), and Halide::Internal::GIOBase::name().

## ~GeneratorOutputBase()

Halide::Internal::GeneratorOutputBase::~GeneratorOutputBase | ( |  | ) |

override

## Member Function Documentation

## as()

template<typename T2, typename std::enable_if< std::is_same< T2, Func >::value >::type * = nullptr>

HALIDE_NO_USER_CODE_INLINE T2 Halide::Internal::GeneratorOutputBase::as | ( |  | ) | const

inline protected

Definition at line 2266 of file Generator.h.

References Halide::Internal::GIOBase::exprs_, Halide::Internal::GIOBase::funcs_, HALIDE_NO_USER_CODE_INLINE, internal_assert, Halide::Internal::GIOBase::kind(), Halide::Internal::Scalar, and user_assert.

## set_type() [1/2]

void Halide::Internal::GeneratorOutputBase::set_type | ( | const std::vector< Type > & | types | ) |

Set types dynamically for tuple outputs.

## init_internals()

void Halide::Internal::GeneratorOutputBase::init_internals | ( |  | ) |

protected

## resize()

void Halide::Internal::GeneratorOutputBase::resize | ( | size_t | size | ) |

protected

Referenced by Halide::Internal::GeneratorOutputImpl< T >::resize().

## get_c_type()

virtual std::string Halide::Internal::GeneratorOutputBase::get_c_type | ( |  | ) | const

inline protected virtual

Reimplemented in Halide::Internal::GeneratorOutput_Buffer< T >.

Definition at line 2367 of file Generator.h.

## check_value_writable()

void Halide::Internal::GeneratorOutputBase::check_value_writable | ( |  | ) | const

override protected virtual

Implements Halide::Internal::GIOBase.

Referenced by Halide::Internal::GeneratorOutput_Buffer< T >::operator=(), Halide::Internal::GeneratorOutput_Func< T >::operator=(), and Halide::Internal::GeneratorOutput_Func< T >::operator[]().

## input_or_output()

const char * Halide::Internal::GeneratorOutputBase::input_or_output | ( |  | ) | const

inline override protected virtual

Implements Halide::Internal::GIOBase.

Definition at line 2373 of file Generator.h.

## set_type() [2/2]

void Halide::Internal::GIOBase::set_type | ( | const Type & | type | ) |

Forward schedule-related methods to the underlying Func.

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

- src/Generator.h