Skip to main content

ReadWriteBuffer.ixx File

Combined read-write buffer for single-buffered access patterns. More...

Included Headers

#include <span> #include <vector> #include <cstddef> #include <helios.engine.core.container.buffer:Buffer>

Namespaces Index

namespacehelios
namespaceengine
namespacecore
namespacecontainer
namespacebuffer

Classes Index

classReadWriteBuffer<T>

Combined read-write buffer with immediate visibility. More...

Description

Combined read-write buffer for single-buffered access patterns.

File Listing

The file content with the documentation metadata removed is:

1
5module;
6
7#include <span>
8#include <vector>
9#include <cstddef>
10
11export module helios.engine.core.container.buffer:ReadWriteBuffer;
12
13import :Buffer;
14
16
30 template<typename T>
32
36 std::vector<T> bufferData_;
37
43 [[nodiscard]] std::vector<T>& bufferData() {
44 return bufferData_;
45 }
46
47 public:
48
54 std::span<const T> read() const noexcept {
55 return bufferData_;
56 }
57
67 template<typename... Args>
69 bufferData_.emplace_back(std::forward<Args>(args)...);
70 return *this;
71 }
72
80 ReadWriteBuffer& reserve(size_t size) {
81 bufferData_.reserve(size);
82 return *this;
83 }
84
88 void clear() override {
89 bufferData_.clear();
90 }
91 };
92
93}

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.