Halide
Halide::Internal::GeneratorOutputBase Class Reference

#include <Generator.h>

Inherits Halide::Internal::GIOBase.

Inherited by Halide::Internal::GeneratorOutputImpl< T >.

Public Member Functions

GeneratorOutputBaseestimate (const Var &var, const Expr &min, const Expr &extent)
 
 ~GeneratorOutputBase () override
 
- Public 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
 
IOKind kind () const
 
bool types_defined () const
 
const std::vector< Type > & types () const
 
Type type () const
 
bool dims_defined () const
 
int dims () const
 
const std::vector< Func > & funcs () const
 
const std::vector< Expr > & exprs () const
 
virtual ~GIOBase ()
 

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, IOKind kind, const std::vector< Type > &t, int d)
 Forward schedule-related methods to the underlying Func. More...
 
 GeneratorOutputBase (const std::string &name, IOKind 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
 GIOBase (size_t array_size, const std::string &name, IOKind 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 IOKind kind_
 
std::vector< Typetypes_
 
int dims_
 
std::vector< Funcfuncs_
 
std::vector< Exprexprs_
 
GeneratorBasegenerator {nullptr}
 

Detailed Description

Definition at line 2186 of file Generator.h.

Constructor & Destructor Documentation

◆ GeneratorOutputBase() [1/2]

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

Forward schedule-related methods to the underlying Func.

◆ GeneratorOutputBase() [2/2]

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

◆ ~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
inlineprotected

◆ estimate()

GeneratorOutputBase& Halide::Internal::GeneratorOutputBase::estimate ( const Var var,
const Expr min,
const Expr extent 
)
inline

Definition at line 2199 of file Generator.h.

References Halide::min().

◆ init_internals()

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

◆ resize()

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

◆ get_c_type()

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

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

Definition at line 2283 of file Generator.h.

◆ check_value_writable()

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

◆ input_or_output()

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

Implements Halide::Internal::GIOBase.

Definition at line 2289 of file Generator.h.


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