Realization#

class Realization#

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

A pipeline with multiple outputs realize to a Realization.

Public Functions

size_t size() const#

The number of images in the Realization.

const Buffer<void> &operator[](size_t x) const#

Get a const reference to one of the images.

Buffer<void> &operator[](size_t x)#

Get a reference to one of the images.

template<typename T, int Dims>
inline operator Buffer<T, Dims>() const#

Single-element realizations are implicitly castable to Buffers.

explicit Realization(const Buffer<void> &e)#

Construct a Realization that acts as a reference to a single existing Buffer.

The element type of the Buffer may not be const.

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

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

The element type of the Buffer(s) may not be const

int 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.