22#ifndef STEAM_ENGINE_BUFFER_PROXY_PROVIDER_H
23#define STEAM_ENGINE_BUFFER_PROXY_PROVIDER_H
72 NOTREACHED (
"this part of the API should not be used");
105 template<
class LIS,
typename = lib::meta::disable_if_self<BufferProxyProv
ider, LIS>>
110 template<
typename TAR>
115 UNIMPLEMENTED (
"setup type handler and then create a locked BuffHandle");
Abstraction to represent buffer management and lifecycle within the render engine.
placeholder type for the contents of a data buffer.
Handle for a buffer for processing data, abstracting away the actual implementation.
Interface: a facility providing and managing working buffers for media calculations.
uint prepareBuffers(uint, HashVal) override
ForwardingBufferProvider(Listener listener)
void mark_emitted(HashVal, LocalTag const &) override
BuffHandle provideLockedBuffer(HashVal typeID) override
void detachBuffer(HashVal, LocalTag const &, Buff &) override
Adapter to expose access to data blocks via BuffHandle and the BufferProvider protocol.
BufferProxyProvider(LIS &&listener)
std::function< void(size_t, BufferState)> Listener
ForwardingBufferProvider passThroughProvider_
BuffHandle lockBuffer(TAR &dataBlock)
an opaque mark to be used by the BufferProvider implementation.
Any copy and copy construction prohibited.
Lumiera error handling (C++ interface).
BufferState
Buffer states usable within BufferProvider and stored within the metadata.
Steam-Layer implementation namespace root.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Marker types to indicate a literal string and a Symbol.