Class RingBuffer<T>
java.lang.Object
dev.pfaff.altargui.glfw.ring.RingBuffer<T>
- All Implemented Interfaces:
Iterable<T>
- Direct Known Subclasses:
LongRingBuffer
An append-only ring buffer. If you add more elements than it can hold it will wrap around and overwrite the first
element.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract void
final int
final boolean
firstRun()
protected final int
inc()
final int
protected final int
ringToStraightIndex
(int i) static int
ringToStraightIndexNoFirstRun
(int size, int currentIndex, int i) abstract int
size()
protected final int
straightToRingIndex
(int i) static int
straightToRingIndexNoFirstRun
(int size, int currentIndex, int i) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
-
Constructor Details
-
RingBuffer
public RingBuffer()
-
-
Method Details
-
size
public abstract int size() -
firstRun
public final boolean firstRun() -
currentIndex
public final int currentIndex() -
presentSize
public final int presentSize() -
add
-
inc
protected final int inc() -
straightToRingIndex
protected final int straightToRingIndex(int i) -
ringToStraightIndex
protected final int ringToStraightIndex(int i) -
straightToRingIndexNoFirstRun
public static int straightToRingIndexNoFirstRun(int size, int currentIndex, int i) -
ringToStraightIndexNoFirstRun
public static int ringToStraightIndexNoFirstRun(int size, int currentIndex, int i)
-