Class RingBuffer<T>

java.lang.Object
dev.pfaff.altargui.glfw.ring.RingBuffer<T>
All Implemented Interfaces:
Iterable<T>
Direct Known Subclasses:
LongRingBuffer

public abstract class RingBuffer<T> extends Object implements Iterable<T>
An append-only ring buffer. If you add more elements than it can hold it will wrap around and overwrite the first element.
  • 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

      public abstract void add(T value)
    • 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)