Loading...
Searching...
No Matches
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 = typename std::conditional<std::is_const<T>::value, const T2, T2>::type

## Functions

Expr | Halide::Internal::buffer_accessor (const Buffer<> &buf, const std::vector< Expr > &args)
template<typename T, typename = typename std::enable_if<!std::is_convertible<T, std::string>::value>::type>
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 397 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 404 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 421 of file Buffer.h.