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>();
79 _EXCEPTION_SAFE_INVOKE (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_);
An opaque descriptor to identify the type and further properties of a data buffer.
Steam-Layer implementation namespace root.
BU & accessAs()
convenience shortcut: access the buffer contents casted to a specific type.
Derived specific exceptions within Lumiera's exception hierarchy.
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 ...
A front-end to support the buffer management within the render nodes.
Lumiera error handling (C++ interface).
Abstraction to represent buffer management and lifecycle within the render engine.