From 02e50674e33c3873f4d6f94e4f647f5b486f09e4 Mon Sep 17 00:00:00 2001 From: Kyle Daruwalla Date: Fri, 4 Mar 2022 11:20:43 -0600 Subject: [PATCH] Make view return a view of the buffer --- src/CircularArrayBuffers.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/CircularArrayBuffers.jl b/src/CircularArrayBuffers.jl index 5c7d9b8..2372c59 100644 --- a/src/CircularArrayBuffers.jl +++ b/src/CircularArrayBuffers.jl @@ -50,6 +50,9 @@ Base.getindex(cb::CircularArrayBuffer{T,N}, I...) where {T,N} = getindex(cb.buff Base.setindex!(cb::CircularArrayBuffer{T,N}, v, i::Int) where {T,N} = setindex!(cb.buffer, v, _buffer_index(cb, i)) Base.setindex!(cb::CircularArrayBuffer{T,N}, v, I...) where {T,N} = setindex!(cb.buffer, v, Base.front(I)..., _buffer_frame(cb, Base.last(I))) +Base.view(cb::CircularArrayBuffer, i::Int) = view(cb.buffer, _buffer_index(cb, i)) +Base.view(cb::CircularArrayBuffer, I...) = view(cb.buffer, Base.front(I)..., _buffer_frame(cb, Base.last(I))) + capacity(cb::CircularArrayBuffer{T,N}) where {T,N} = size(cb.buffer, N) isfull(cb::CircularArrayBuffer) = cb.nframes == capacity(cb) Base.isempty(cb::CircularArrayBuffer) = cb.nframes == 0