Lumiera  0.pre.03
»edit your freedom«
DiagnosticBufferProvider Class Reference

#include "steam/engine/diagnostic-buffer-provider.hpp"

Description

Helper for unit tests: Buffer provider reference implementation.

Todo:
write type comment

Definition at line 52 of file diagnostic-buffer-provider.hpp.

Public Member Functions

void * accessMemory (uint bufferID) const
 
bool all_buffers_released () const
 
bool buffer_was_closed (uint bufferID) const
 
bool buffer_was_used (uint bufferID) const
 

Static Public Member Functions

static DiagnosticBufferProvideraccess (BufferProvider const &)
 access the diagnostic API of the buffer provider More...
 
static BufferProviderbuild ()
 build a new Diagnostic Buffer Provider instance, discard the existing one. More...
 

Friends

class lib::DependencyFactory< DiagnosticBufferProvider >
 

Private Member Functions

bool isCurrent (BufferProvider const &)
 
TrackingHeapBlockProviderreset ()
 
- Private Member Functions inherited from NonCopyable
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 

Private Attributes

std::unique_ptr< TrackingHeapBlockProviderpImpl_
 

Static Private Attributes

static lib::Depend< DiagnosticBufferProviderdiagnostics
 Storage for the diagnostics frontend.
 

Member Function Documentation

◆ build()

BufferProvider & build ( )
static

build a new Diagnostic Buffer Provider instance, discard the existing one.

Use the static query API for investigating collected data.

Definition at line 48 of file diagnostic-buffer-provider.cpp.

◆ access()

DiagnosticBufferProvider & access ( BufferProvider const &  provider)
static

access the diagnostic API of the buffer provider

Exceptions
error::Invalidif the given provider doesn't allow for diagnostic access or wasn't registered beforehand.

Definition at line 55 of file diagnostic-buffer-provider.cpp.

+ Inheritance diagram for DiagnosticBufferProvider:
+ Collaboration diagram for DiagnosticBufferProvider:

The documentation for this class was generated from the following files: