Halide 22.0.0 Halide compiler and libraries

Classes | Namespaces | Macros | Enumerations | Functions | Variables
HalideBuffer.h File Reference

Defines a Buffer type that wraps from halide_buffer_t and adds functionality, and methods for more conveniently iterating over the samples in a halide_buffer_t outside of Halide code. More...

`#include <algorithm>`
`#include <atomic>`
`#include <cassert>`
`#include <cstdint>`
`#include <cstdlib>`
`#include <cstring>`
`#include <limits>`
`#include <memory>`
`#include <type_traits>`
`#include <vector>`
`#include "HalideRuntime.h"`

Go to the source code of this file.

## Classes
struct | Halide::Runtime::AllInts< Args >
struct | Halide::Runtime::AllInts<>
struct | Halide::Runtime::AllInts< T, Args... >
struct | Halide::Runtime::AllInts< float, Args... >
struct | Halide::Runtime::AllInts< double, Args... >
struct | Halide::Runtime::Internal::DefaultAllocatorFns
struct | Halide::Runtime::AllocationHeader
| A struct acting as a header for allocations owned by the Buffer class itself. More...
struct | Halide::Runtime::DeviceRefCount
| A similar struct for managing device allocations. More...
class | Halide::Runtime::Buffer< T, Dims, InClassDimStorage >
| A templated Buffer class that wraps halide_buffer_t and adds functionality. More...
class | Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::Dimension
| Read-only access to the shape. More...
struct | Halide::Runtime::Buffer< T, Dims, InClassDimStorage >::Dimension::iterator
| An iterator class, so that you can iterate over coordinates in a dimensions using a range-based for loop. 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::Runtime
namespace | Halide::Runtime::Internal

## Macros
#define | HALIDE_ALLOCA __builtin_alloca
#define | HALIDE_RUNTIME_BUFFER_CHECK_INDICES 0
#define | HALIDE_RUNTIME_BUFFER_ALLOCATION_ALIGNMENT 128
#define | HALIDE_RUNTIME_BUFFER_USE_ALIGNED_ALLOC 1

## Enumerations
enum struct | Halide::Runtime::BufferDeviceOwnership : int { Halide::Runtime::Allocated , Halide::Runtime::WrappedNative , Halide::Runtime::Unmanaged , Halide::Runtime::AllocatedDeviceAndHost , Halide::Runtime::Cropped }
| This indicates how to deallocate the device for a Halide::Runtime::Buffer. More...

## Functions
template<typename Container >
bool | Halide::Runtime::Internal::any_zero (const Container &c)

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

## Detailed Description

Defines a Buffer type that wraps from halide_buffer_t and adds functionality, and methods for more conveniently iterating over the samples in a halide_buffer_t outside of Halide code.

Definition in file HalideBuffer.h.

## Macro Definition Documentation

## ◆ HALIDE_ALLOCA

#define HALIDE_ALLOCA __builtin_alloca

Definition at line 37 of file HalideBuffer.h.

## ◆ HALIDE_RUNTIME_BUFFER_CHECK_INDICES

#define HALIDE_RUNTIME_BUFFER_CHECK_INDICES 0

Definition at line 46 of file HalideBuffer.h.

## ◆ HALIDE_RUNTIME_BUFFER_ALLOCATION_ALIGNMENT

#define HALIDE_RUNTIME_BUFFER_ALLOCATION_ALIGNMENT 128

Definition at line 53 of file HalideBuffer.h.

## ◆ HALIDE_RUNTIME_BUFFER_USE_ALIGNED_ALLOC

#define HALIDE_RUNTIME_BUFFER_USE_ALIGNED_ALLOC 1

Definition at line 110 of file HalideBuffer.h.