Halide 22.0.0 Halide compiler and libraries

Classes | Namespaces | Macros | Typedefs | Functions | Variables
Buffer.h File Reference
`#include "DeviceInterface.h"`
`#include "Expr.h"`
`#include "IntrusivePtr.h"`
`#include "runtime/HalideBuffer.h"`

Go to the source code of this file.

## Classes
struct | Halide::Internal::BufferContents
struct | Halide::Internal::all_ints_and_optional_name< Args >
struct | Halide::Internal::all_ints_and_optional_name< First, Rest... >
struct | Halide::Internal::all_ints_and_optional_name< T >
struct | Halide::Internal::all_ints_and_optional_name<>
class | Halide::Buffer< T, Dims >
| A Halide::Buffer is a named shared reference to a Halide::Runtime::Buffer. More...

## Namespaces
namespace | Halide
| This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
namespace | Halide::Internal

## Macros
#define | HALIDE_BUFFER_FORWARD_CONST(method)
#define | HALIDE_BUFFER_FORWARD(method)
#define | HALIDE_BUFFER_FORWARD_INITIALIZER_LIST(method, ...)

## Typedefs
template<typename T , typename T2 >
using | Halide::Internal::add_const_if_T_is_const = std::conditional_t< std::is_const_v< T >, const T2, T2 >

## Functions
Expr | Halide::Internal::buffer_accessor (const Buffer<> &buf, const std::vector< Expr > &args)
template<typename T , typename = std::enable_if_t<!std::is_convertible_v<T, std::string>>>
std::string | Halide::Internal::get_name_from_end_of_parameter_pack (T &&)
std::string | Halide::Internal::get_name_from_end_of_parameter_pack (const std::string &n)
std::string | Halide::Internal::get_name_from_end_of_parameter_pack ()
template<typename First , typename Second , typename... Args>
std::string | Halide::Internal::get_name_from_end_of_parameter_pack (First first, Second second, Args &&...rest)
void | Halide::Internal::get_shape_from_start_of_parameter_pack_helper (std::vector< int > &, const std::string &)
void | Halide::Internal::get_shape_from_start_of_parameter_pack_helper (std::vector< int > &)
template<typename... Args>
void | Halide::Internal::get_shape_from_start_of_parameter_pack_helper (std::vector< int > &result, int x, Args &&...rest)
template<typename... Args>
std::vector< int > | Halide::Internal::get_shape_from_start_of_parameter_pack (Args &&...args)
template<typename T >
void | Halide::Internal::buffer_type_name_non_const (std::ostream &s)
template<>
void | Halide::Internal::buffer_type_name_non_const< void > (std::ostream &s)
template<typename T >
std::string | Halide::Internal::buffer_type_name ()

## Variables
constexpr int | Halide::AnyDims = Halide::Runtime::AnyDims

## Macro Definition Documentation

## ◆ HALIDE_BUFFER_FORWARD_CONST

#define HALIDE_BUFFER_FORWARD_CONST | ( |  | method | ) |

Value:
template<typename... Args> \
auto method(Args &&...args) const -> decltype(std::declval<const Runtime::Buffer<T, Dims>>().method(std::forward<Args>(args)...)) { \
user_assert(defined()) << "Undefined buffer calling const method " #method "\n"; \
return get()->method(std::forward<Args>(args)...); \
}

Definition at line 396 of file Buffer.h.

## ◆ HALIDE_BUFFER_FORWARD

#define HALIDE_BUFFER_FORWARD | ( |  | method | ) |

Value:
template<typename... Args> \
auto method(Args &&...args) -> decltype(std::declval<Runtime::Buffer<T, Dims>>().method(std::forward<Args>(args)...)) { \
user_assert(defined()) << "Undefined buffer calling method " #method "\n"; \
return get()->method(std::forward<Args>(args)...); \
}

Definition at line 403 of file Buffer.h.

## ◆ HALIDE_BUFFER_FORWARD_INITIALIZER_LIST

#define HALIDE_BUFFER_FORWARD_INITIALIZER_LIST | ( |  | method,
|  |  | ...
| ) |  |

Value:
inline auto method(const __VA_ARGS__ &a) -> decltype(std::declval<Runtime::Buffer<T, Dims>>().method(a)) { \
user_assert(defined()) << "Undefined buffer calling method " #method "\n"; \
return get()->method(a); \
}

Definition at line 420 of file Buffer.h.