TypeIndexedReadWriteBuffer.ixx File
Type-indexed single-buffered message system for immediate-access patterns. More...
Included Headers
#include <memory>
#include <span>
#include <vector>
#include <cstddef>
#include <helios.engine.core.container.buffer:ReadWriteBuffer>
#include <helios.engine.core.container.buffer.concepts.IsTypeIndexerLike>
Namespaces Index
| namespace | helios |
| namespace | engine |
| namespace | core |
| namespace | container |
| namespace | buffer |
Classes Index
| class | TypeIndexedReadWriteBuffer<Indexer> |
|
Type-indexed container for immediate-access message buffers. More... | |
Description
Type-indexed single-buffered message system for immediate-access patterns.
File Listing
The file content with the documentation metadata removed is:
19export namespace helios::engine::core::container::buffer {
35 requires IsTypeIndexerLike<Indexer>
36 class TypeIndexedReadWriteBuffer {
52 return Indexer::template typeIndex<T>();
60 ~TypeIndexedReadWriteBuffer() = default;
65 TypeIndexedReadWriteBuffer() = default;
75 template<typename T, typename... Args>
77 getOrCreateBuffer<T>().push(std::forward<Args>(args)...);
99 return static_cast<ReadWriteBuffer<T>*>(buffers_[idx].get())->read();
113 getOrCreateBuffer<T>().reserve(size);
127 if (buffers_.size() <= idx) {
128 buffers_.resize(idx + 1);
131 if (!buffers_[idx]) {
132 buffers_[idx] = std::make_unique<ReadWriteBuffer<T>>();
135 return *static_cast<ReadWriteBuffer<T>*>(buffers_[idx].get());
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.