Halide 22.0.0 Halide compiler and libraries

Public Member Functions | Protected Types | Protected Member Functions | List of all members
Halide::Internal::GeneratorInput_Buffer< T > Class Template Reference

`#include <Generator.h>`

Inheritance diagram for Halide::Internal::GeneratorInput_Buffer< T >:

## Public Member Functions
| GeneratorInput_Buffer (const std::string &name)
| GeneratorInput_Buffer (const std::string &name, const Type &t, int d)
| GeneratorInput_Buffer (const std::string &name, const Type &t)
| GeneratorInput_Buffer (const std::string &name, int d)
template<typename... Args>
Expr | operator() (Args &&...args) const
Expr | operator() (std::vector< Expr > args) const
template<typename T2 >
| operator StubInputBuffer< T2 > () const
| operator Func () const
| operator ExternFuncArgument () const
GeneratorInput_Buffer< T > & | set_estimate (Var var, Expr min, Expr extent)
GeneratorInput_Buffer< T > & | set_estimates (const Region &estimates)
Func | in ()
Func | in (const Func &other)
Func | in (const std::vector< Func > &others)
| operator ImageParam () const
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>
size_t | size () const
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>
ImageParam | operator[] (size_t i) const
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>
ImageParam | at (size_t i) const
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>
std::vector< ImageParam >::const_iterator | begin () const
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>
std::vector< ImageParam >::const_iterator | end () const
Public Member Functions inherited from Halide::Internal::GeneratorInputImpl< T, Func >
size_t | size () const
const Func & | operator[] (size_t i) const
const Func & | at (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
GIOBase & | operator= (const GIOBase &)=delete
| GIOBase (GIOBase &&)=delete
GIOBase & | operator= (GIOBase &&)=delete

## Protected Types
using | TBase = typename Super::TBase
Protected Types inherited from Halide::Internal::GeneratorInputImpl< T, Func >
using | TBase = std::remove_all_extents_t< T >

## 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
virtual std::string | get_c_type () const =0
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
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
virtual void | check_value_writable () const =0
virtual const char * | input_or_output () const =0
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< Parameter > | parameters_
bool | inputs_set = false
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

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

Definition at line 1665 of file Generator.h.

## Member Typedef Documentation

## ◆ TBase

template<typename T >

using Halide::Internal::GeneratorInput_Buffer< T >::TBase = typename Super::TBase
| protected

Definition at line 1670 of file Generator.h.

## Constructor & Destructor Documentation

## ◆ GeneratorInput_Buffer() [1/4]

template<typename T >

Halide::Internal::GeneratorInput_Buffer< T >::GeneratorInput_Buffer | ( | const std::string & | name | ) |
| inline explicit

Definition at line 1691 of file Generator.h.

## ◆ GeneratorInput_Buffer() [2/4]

template<typename T >

Halide::Internal::GeneratorInput_Buffer< T >::GeneratorInput_Buffer | ( | const std::string & | name,
|  | const Type & | t,
|  | int | d
| ) |  |
| inline

Definition at line 1697 of file Generator.h.

## ◆ GeneratorInput_Buffer() [3/4]

template<typename T >

Halide::Internal::GeneratorInput_Buffer< T >::GeneratorInput_Buffer | ( | const std::string & | name,
|  | const Type & | t
| ) |  |
| inline

Definition at line 1703 of file Generator.h.

## ◆ GeneratorInput_Buffer() [4/4]

template<typename T >

Halide::Internal::GeneratorInput_Buffer< T >::GeneratorInput_Buffer | ( | const std::string & | name,
|  | int | d
| ) |  |
| inline

Definition at line 1708 of file Generator.h.

## Member Function Documentation

## ◆ get_c_type()

template<typename T >

std::string Halide::Internal::GeneratorInput_Buffer< T >::get_c_type | ( |  | ) | const
| inline override protected virtual

Implements Halide::Internal::GeneratorInputBase.

Definition at line 1675 of file Generator.h.

References Halide::Internal::halide_type_to_c_type().

## ◆ as()

template<typename T >
template<typename T2 >

T2 Halide::Internal::GeneratorInput_Buffer< T >::as | ( |  | ) | const
| inline protected

Definition at line 1686 of file Generator.h.

## ◆ operator()() [1/2]

template<typename T >
template<typename... Args>

Expr Halide::Internal::GeneratorInput_Buffer< T >::operator() | ( | Args &&... | args | ) | const
| inline

Definition at line 1716 of file Generator.h.

References Halide::Internal::GIOBase::check_gio_access().

## ◆ operator()() [2/2]

template<typename T >

Expr Halide::Internal::GeneratorInput_Buffer< T >::operator() | ( | std::vector< Expr > | args | ) | const
| inline

Definition at line 1721 of file Generator.h.

References Halide::Internal::GIOBase::check_gio_access().

## ◆ operator StubInputBuffer< T2 >()

template<typename T >
template<typename T2 >

Halide::Internal::GeneratorInput_Buffer< T >::operator StubInputBuffer< T2 > | ( |  | ) | const
| inline

Definition at line 1727 of file Generator.h.

References Halide::Internal::GeneratorInputImpl< T, Func >::is_array(), Halide::Internal::GIOBase::name(), Halide::Internal::GeneratorInputBase::parameters_, and user_assert.

## ◆ operator Func()

template<typename T >

Halide::Internal::GeneratorInput_Buffer< T >::operator Func | ( |  | ) | const
| inline

Definition at line 1732 of file Generator.h.

References Halide::Internal::GIOBase::check_gio_access(), and Halide::Internal::GIOBase::funcs().

## ◆ operator ExternFuncArgument()

template<typename T >

Halide::Internal::GeneratorInput_Buffer< T >::operator ExternFuncArgument | ( |  | ) | const
| inline

Definition at line 1737 of file Generator.h.

References Halide::Internal::GIOBase::check_gio_access(), and Halide::Internal::GeneratorInputBase::parameters_.

## ◆ set_estimate()

template<typename T >

GeneratorInput_Buffer< T > & Halide::Internal::GeneratorInput_Buffer< T >::set_estimate | ( | Var | var,
|  | Expr | min,
|  | Expr | extent
| ) |  |
| inline

Definition at line 1742 of file Generator.h.

References Halide::Internal::GIOBase::check_gio_access(), Halide::Internal::min(), and Halide::Internal::GeneratorInputBase::set_estimate_impl().

## ◆ set_estimates()

template<typename T >

GeneratorInput_Buffer< T > & Halide::Internal::GeneratorInput_Buffer< T >::set_estimates | ( | const Region & | estimates | ) |
| inline

Definition at line 1748 of file Generator.h.

References Halide::Internal::GIOBase::check_gio_access(), and Halide::Internal::GeneratorInputBase::set_estimates_impl().

## ◆ in() [1/3]

template<typename T >

Func Halide::Internal::GeneratorInput_Buffer< T >::in | ( |  | ) |
| inline

Definition at line 1754 of file Generator.h.

References Halide::Internal::GIOBase::check_gio_access(), and Halide::Func::in().

## ◆ in() [2/3]

template<typename T >

Func Halide::Internal::GeneratorInput_Buffer< T >::in | ( | const Func & | other | ) |
| inline

Definition at line 1759 of file Generator.h.

References Halide::Internal::GIOBase::check_gio_access(), and Halide::Func::in().

## ◆ in() [3/3]

template<typename T >

Func Halide::Internal::GeneratorInput_Buffer< T >::in | ( | const std::vector< Func > & | others | ) |
| inline

Definition at line 1764 of file Generator.h.

References Halide::Internal::GIOBase::check_gio_access(), and Halide::Func::in().

## ◆ operator ImageParam()

template<typename T >

Halide::Internal::GeneratorInput_Buffer< T >::operator ImageParam | ( |  | ) | const
| inline

Definition at line 1769 of file Generator.h.

References Halide::Internal::GIOBase::check_gio_access(), Halide::Internal::GeneratorInputImpl< T, Func >::is_array(), Halide::Internal::GIOBase::name(), Halide::Internal::GeneratorInputBase::parameters_, and user_assert.

## ◆ size()

template<typename T >
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>

size_t Halide::Internal::GeneratorInput_Buffer< T >::size | ( |  | ) | const
| inline

Definition at line 1776 of file Generator.h.

References Halide::Internal::GIOBase::check_gio_access(), and Halide::Internal::GeneratorInputBase::parameters_.

## ◆ operator[]()

template<typename T >
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>

ImageParam Halide::Internal::GeneratorInput_Buffer< T >::operator[] | ( | size_t | i | ) | const
| inline

Definition at line 1782 of file Generator.h.

References Halide::Internal::GIOBase::check_gio_access(), and Halide::Internal::GeneratorInputBase::parameters_.

## ◆ at()

template<typename T >
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>

ImageParam Halide::Internal::GeneratorInput_Buffer< T >::at | ( | size_t | i | ) | const
| inline

Definition at line 1788 of file Generator.h.

References Halide::Internal::GIOBase::check_gio_access(), and Halide::Internal::GeneratorInputBase::parameters_.

## ◆ begin()

template<typename T >
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>

std::vector< ImageParam >::const_iterator Halide::Internal::GeneratorInput_Buffer< T >::begin | ( |  | ) | const
| inline

Definition at line 1794 of file Generator.h.

References user_error.

## ◆ end()

template<typename T >
template<typename T2 = T, std::enable_if_t< std::is_array_v< T2 > > * = nullptr>

std::vector< ImageParam >::const_iterator Halide::Internal::GeneratorInput_Buffer< T >::end | ( |  | ) | const
| inline

Definition at line 1800 of file Generator.h.

References user_error.

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

- src/Generator.h