49 DiagnosticBufferProvider::DiagnosticBufferProvider()
53 DiagnosticBufferProvider::~DiagnosticBufferProvider() { }
57 DiagnosticBufferProvider::build()
59 return diagnostics().reset();
66 if (!diagnostics().isCurrent (provider))
67 throw error::Invalid(
"given Provider doesn't match (current) diagnostic data record." 68 "This might be an lifecycle error. Did you build() this instance beforehand?");
77 DiagnosticBufferProvider::reset()
84 DiagnosticBufferProvider::isCurrent (
BufferProvider const& implInstance)
86 return &implInstance == pImpl_.get();
96 DiagnosticBufferProvider::buffer_was_used (uint bufferID)
const 98 return pImpl_->access_emitted(bufferID).was_used();
103 DiagnosticBufferProvider::buffer_was_closed (uint bufferID)
const 105 return pImpl_->access_emitted(bufferID).was_closed();
110 DiagnosticBufferProvider::accessMemory (uint bufferID)
const 112 return pImpl_->access_emitted(bufferID).accessMemory();
Helper for unit tests: Buffer provider reference implementation.
static lib::Depend< DiagnosticBufferProvider > diagnostics
Storage for the diagnostics frontend.
Steam-Layer implementation namespace root.
Access point to singletons and other kinds of dependencies designated by type.
Derived specific exceptions within Lumiera's exception hierarchy.
Metaprogramming tools for transforming functor types.
Dummy implementation of the BufferProvider interface to support writing unit tests.
simple BufferProvider implementation with additional allocation tracking.
Lumiera error handling (C++ interface).
A facility for writing unit-tests targeting the BufferProvider interface.
Interface: a facility providing and managing working buffers for media calculations.