Halide 21.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Halide::Internal::GeneratorOutput_Buffer< T > Class Template Reference

#include <Generator.h>

Inheritance diagram for Halide::Internal::GeneratorOutput_Buffer< T >:
Halide::Internal::GeneratorOutputImpl< T > Halide::Internal::GeneratorOutputBase Halide::Internal::GIOBase

Public Member Functions

template<typename T2, int D2>
HALIDE_NO_USER_CODE_INLINE GeneratorOutput_Buffer< T > & operator= (Buffer< T2, D2 > &buffer)
template<typename T2>
GeneratorOutput_Buffer< T > & operator= (const StubOutputBuffer< T2 > &stub_output_buffer)
GeneratorOutput_Buffer< T > & operator= (const Func &f)
 operator OutputImageParam () const
GeneratorOutput_Buffer< T > & set_estimates (const Region &estimates)
template<typename T2 = T, typename std::enable_if< std::is_array< T2 >::value >::type * = nullptr>
const Funcoperator[] (size_t i) const
template<typename T2 = T, typename std::enable_if< std::is_array< T2 >::value >::type * = nullptr>
Func operator[] (size_t i)
Public Member Functions inherited from Halide::Internal::GeneratorOutputImpl< T >
template<typename... Args, typename T2 = T, typename std::enable_if<!std::is_array< T2 >::value >::type * = nullptr>
FuncRef operator() (Args &&...args) const
template<typename ExprOrVar, typename T2 = T, typename std::enable_if<!std::is_array< T2 >::value >::type * = nullptr>
FuncRef operator() (std::vector< ExprOrVar > args) const
template<typename T2 = T, typename std::enable_if<!std::is_array< T2 >::value >::type * = nullptr>
 operator Func () const
template<typename T2 = T, typename std::enable_if<!std::is_array< T2 >::value >::type * = nullptr>
 operator Stage () const
template<typename T2 = T, typename std::enable_if< std::is_array< T2 >::value >::type * = nullptr>
size_t size () const
template<typename T2 = T, typename std::enable_if< std::is_array< T2 >::value >::type * = nullptr>
const ValueTypeoperator[] (size_t i) const
template<typename T2 = T, typename std::enable_if< std::is_array< T2 >::value >::type * = nullptr>
const ValueTypeat (size_t i) const
template<typename T2 = T, typename std::enable_if< std::is_array< T2 >::value >::type * = nullptr>
std::vector< ValueType >::const_iterator begin () const
template<typename T2 = T, typename std::enable_if< std::is_array< T2 >::value >::type * = nullptr>
std::vector< ValueType >::const_iterator end () const
template<typename T2 = T, typename std::enable_if< std::is_array< T2 >::value &&std::rank< T2 >::value==1 &&std::extent< T2, 0 >::value==0 >::type * = 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.
 ~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
GIOBaseoperator= (const GIOBase &)=delete
 GIOBase (GIOBase &&)=delete
GIOBaseoperator= (GIOBase &&)=delete

Protected Types

using TBase = typename Super::TBase
Protected Types inherited from Halide::Internal::GeneratorOutputImpl< T >
using TBase = typename std::remove_all_extents<T>::type
using ValueType = Func

Protected Member Functions

 GeneratorOutput_Buffer (const std::string &name)
 GeneratorOutput_Buffer (const std::string &name, const std::vector< Type > &t, int d)
 GeneratorOutput_Buffer (const std::string &name, const std::vector< Type > &t)
 GeneratorOutput_Buffer (const std::string &name, int d)
 GeneratorOutput_Buffer (size_t array_size, const std::string &name)
 GeneratorOutput_Buffer (size_t array_size, const std::string &name, const std::vector< Type > &t, int d)
 GeneratorOutput_Buffer (size_t array_size, const std::string &name, const std::vector< Type > &t)
 GeneratorOutput_Buffer (size_t array_size, const std::string &name, int d)
HALIDE_NO_USER_CODE_INLINE std::string get_c_type () const override
template<typename T2, typename std::enable_if<!std::is_same< T2, Func >::value >::type * = nullptr>
HALIDE_NO_USER_CODE_INLINE T2 as () const
Protected Member Functions inherited from Halide::Internal::GeneratorOutputImpl< T >
bool is_array () const override
template<typename T2 = T, typename std::enable_if< !std::is_array< T2 >::value >::type * = nullptr>
 GeneratorOutputImpl (const std::string &name, ArgInfoKind kind, const std::vector< Type > &t, int d)
template<typename T2 = T, typename std::enable_if< std::is_array< T2 >::value &&std::rank< T2 >::value==1 &&(std::extent< T2, 0 >::value > 0)>::type * = nullptr>
 GeneratorOutputImpl (const std::string &name, ArgInfoKind kind, const std::vector< Type > &t, int d)
template<typename T2 = T, typename std::enable_if< std::is_array< T2 >::value &&std::rank< T2 >::value==1 &&std::extent< T2, 0 >::value==0 >::type * = 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, 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)
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
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< Typetypes_
int dims_
std::vector< Funcfuncs_
std::vector< Exprexprs_
GeneratorBasegenerator {nullptr}

Detailed Description

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

Definition at line 2477 of file Generator.h.

Member Typedef Documentation

◆ TBase

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

Definition at line 2522 of file Generator.h.

Constructor & Destructor Documentation

◆ GeneratorOutput_Buffer() [1/8]

template<typename T>
Halide::Internal::GeneratorOutput_Buffer< T >::GeneratorOutput_Buffer ( const std::string & name)
inlineexplicitprotected

◆ GeneratorOutput_Buffer() [2/8]

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

◆ GeneratorOutput_Buffer() [3/8]

template<typename T>
Halide::Internal::GeneratorOutput_Buffer< T >::GeneratorOutput_Buffer ( const std::string & name,
const std::vector< Type > & t )
inlineprotected

◆ GeneratorOutput_Buffer() [4/8]

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

◆ GeneratorOutput_Buffer() [5/8]

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

◆ GeneratorOutput_Buffer() [6/8]

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

◆ GeneratorOutput_Buffer() [7/8]

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

◆ GeneratorOutput_Buffer() [8/8]

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

Member Function Documentation

◆ get_c_type()

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

◆ as()

template<typename T>
template<typename T2, typename std::enable_if<!std::is_same< T2, Func >::value >::type * = nullptr>
HALIDE_NO_USER_CODE_INLINE T2 Halide::Internal::GeneratorOutput_Buffer< T >::as ( ) const
inlineprotected

Definition at line 2591 of file Generator.h.

References HALIDE_NO_USER_CODE_INLINE.

◆ operator=() [1/3]

◆ operator=() [2/3]

template<typename T>
template<typename T2>
GeneratorOutput_Buffer< T > & Halide::Internal::GeneratorOutput_Buffer< T >::operator= ( const StubOutputBuffer< T2 > & stub_output_buffer)
inline

◆ operator=() [3/3]

template<typename T>
GeneratorOutput_Buffer< T > & Halide::Internal::GeneratorOutput_Buffer< T >::operator= ( const Func & f)
inline

◆ operator OutputImageParam()

◆ set_estimates()

◆ operator[]() [1/2]

template<typename T>
template<typename T2 = T, typename std::enable_if< std::is_array< T2 >::value >::type * = nullptr>
const Func & Halide::Internal::GeneratorOutput_Buffer< T >::operator[] ( size_t i) const
inline

◆ operator[]() [2/2]

template<typename T>
template<typename T2 = T, typename std::enable_if< std::is_array< T2 >::value >::type * = nullptr>
Func Halide::Internal::GeneratorOutput_Buffer< T >::operator[] ( size_t i)
inline

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