Halide
Halide::Realization Class Reference

A Realization is a vector of references to existing Buffer objects. More...

#include <Realization.h>

Public Member Functions

size_t size () const
 The number of images in the Realization. More...
 
const Buffer< void > & operator[] (size_t x) const
 Get a const reference to one of the images. More...
 
Buffer< void > & operator[] (size_t x)
 Get a reference to one of the images. More...
 
template<typename T >
 operator Buffer< T > () const
 Single-element realizations are implicitly castable to Buffers. More...
 
template<typename T , typename... Args, typename = typename std::enable_if<Internal::all_are_convertible<Buffer<void>, Args...>::value>::type>
 Realization (Buffer< T > &a, Args &&... args)
 Construct a Realization that acts as a reference to some existing Buffers. More...
 
 Realization (std::vector< Buffer< void >> &e)
 Construct a Realization that refers to the buffers in an existing vector of Buffer<> More...
 
int device_sync (void *ctx=nullptr)
 Call device_sync() for all Buffers in the Realization. More...
 

Detailed Description

A Realization is a vector of references to existing Buffer objects.

A pipeline with multiple outputs realize to a Realization.

Examples
tutorial/lesson_13_tuples.cpp.

Definition at line 21 of file Realization.h.

Constructor & Destructor Documentation

◆ Realization() [1/2]

template<typename T , typename... Args, typename = typename std::enable_if<Internal::all_are_convertible<Buffer<void>, Args...>::value>::type>
Halide::Realization::Realization ( Buffer< T > &  a,
Args &&...  args 
)
inline

Construct a Realization that acts as a reference to some existing Buffers.

The element type of the Buffers may not be const.

Definition at line 47 of file Realization.h.

◆ Realization() [2/2]

Halide::Realization::Realization ( std::vector< Buffer< void >> &  e)
explicit

Construct a Realization that refers to the buffers in an existing vector of Buffer<>

Member Function Documentation

◆ size()

size_t Halide::Realization::size ( ) const

The number of images in the Realization.

Examples
tutorial/lesson_13_tuples.cpp.

Referenced by Halide::Pipeline::RealizationArg::size().

◆ operator[]() [1/2]

const Buffer<void>& Halide::Realization::operator[] ( size_t  x) const

Get a const reference to one of the images.

◆ operator[]() [2/2]

Buffer<void>& Halide::Realization::operator[] ( size_t  x)

Get a reference to one of the images.

◆ operator Buffer< T >()

template<typename T >
Halide::Realization::operator Buffer< T > ( ) const
inline

Single-element realizations are implicitly castable to Buffers.

Definition at line 37 of file Realization.h.

◆ device_sync()

int Halide::Realization::device_sync ( void *  ctx = nullptr)

Call device_sync() for all Buffers in the Realization.

If one of the calls returns an error, subsequent Buffers won't have device_sync called; thus callers should consider a nonzero return code to mean that potentially all of the Buffers are in an indeterminate state of sync. Calling this explicitly should rarely be necessary, except for profiling.


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