Add operator[] to batch in thread pipeline

This commit is contained in:
2025-08-26 13:38:02 -04:00
parent 3c3555da7a
commit 1f050c861a
2 changed files with 10 additions and 10 deletions

View File

@@ -2,6 +2,7 @@
#include <atomic>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
@@ -161,9 +162,6 @@ struct ThreadPipeline {
return static_cast<difference_type>(index_) -
static_cast<difference_type>(rhs.index_);
}
reference operator[](difference_type n) const {
return (*ring)[(index_ + n) & (ring->size() - 1)];
}
friend Iterator operator+(difference_type n, const Iterator &iter) {
return iter + n;
}
@@ -211,6 +209,9 @@ struct ThreadPipeline {
[[nodiscard]] size_t size() const { return end_ - begin_; }
[[nodiscard]] bool empty() const { return end_ == begin_; }
T &operator[](uint32_t n) {
return (*ring)[(begin_ + n) & (ring->size() - 1)];
}
private:
friend struct ThreadPipeline;