35#ifndef ENGINE_BUFFHANDLE_ATTACH_H
36#define ENGINE_BUFFHANDLE_ATTACH_H
53#define _EXCEPTION_SAFE_INVOKE(_CTOR_) \
56 return *new(pBuffer_) _CTOR_; \
78 takeOwnershipFor<BU>();
82#undef _EXCEPTION_SAFE_INVOKE
97 BuffDescr howto_attach_object_automatically
108 template<
typename BU>
113 throw error::Logic (
"buffer not (yet) locked for access by clients"
115 return *
reinterpret_cast<BU*
> (
pBuffer_);
Abstraction to represent buffer management and lifecycle within the render engine.
#define _EXCEPTION_SAFE_INVOKE(_CTOR_)
A front-end to support the buffer management within the render nodes.
An opaque descriptor to identify the type and further properties of a data buffer.
BufferProvider * provider_
BU & accessAs()
convenience shortcut: access the buffer contents casted to a specific type.
BU & create()
convenience shortcut: place and maintain an object within the buffer.
BuffDescr getDescriptor(ARGS ...args)
define a "buffer type" for automatically creating an instance of the template type embedded into the ...
Lumiera error handling (C++ interface).
LumieraError< LERR_(LOGIC)> Logic
Steam-Layer implementation namespace root.