Skip to main content

helios/core/container/buffer/README.md File

Namespaces Index

namespacebuffer

Double-buffering infrastructure for thread-safe message passing. More...

File Listing

The file content with the documentation metadata removed is:

 # helios::core::container::buffer
 
 Double-buffering infrastructure for thread-safe message passing.
 
 This module provides read and write buffers for implementing double-buffered message systems. Double-buffering enables safe producer-consumer patterns across frame boundaries, where messages pushed in one frame become available for reading in the next.
 
 **Components:**
 
 - **Buffer** - Abstract base class for type-erased buffer implementations.
 - **DoubleBuffer** - Abstract base class for double-buffered containers with swap semantics.
 - **ReadBuffer** - Read-only buffer for consuming messages (consumer-side of double-buffering).
 - **WriteBuffer** - Write-only buffer for producing messages (producer-side of double-buffering).
 - **ReadWriteBuffer** - Combined single-buffer with immediate visibility for same-phase access.
 - **ReadWriteDoubleBuffer** - Type-safe double-buffered container pairing ReadBuffer and WriteBuffer.
 - **TypeIndexedDoubleBuffer** - Type-indexed container managing multiple ReadWriteDoubleBuffers by message type.
 - **TypeIndexedReadWriteBuffer** - Type-indexed container for immediate-access single-buffered patterns.
 
 **Usage patterns:**
 
 - **Cross-phase communication:** Use `TypeIndexedDoubleBuffer` with `swapBuffers()` at frame boundaries.
 - **Same-phase communication:** Use `TypeIndexedReadWriteBuffer` for immediate message visibility.
 
 ---
 <details>
 <summary>Doxygen</summary><p>
 @namespace helios::core::container::buffer
 @brief Double-buffering infrastructure for thread-safe message passing.
 @details This module provides read and write buffers for implementing double-buffered message systems, enabling safe producer-consumer patterns across frame boundaries. Includes both double-buffered (ReadBuffer, WriteBuffer, ReadWriteDoubleBuffer) and single-buffered (ReadWriteBuffer) implementations, with type-indexed variants for heterogeneous message handling.
 </p></details>
 

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.