Class CircularBuffer

java.lang.Object
edu.wpi.first.util.CircularBuffer

public class CircularBuffer
extends Object
This is a simple circular buffer so we don't need to "bucket brigade" copy old values.
  • Constructor Summary

    Constructors 
    Constructor Description
    CircularBuffer​(int size)
    Create a CircularBuffer with the provided size.
  • Method Summary

    Modifier and Type Method Description
    void addFirst​(double value)
    Push new value onto front of the buffer.
    void addLast​(double value)
    Push new value onto back of the buffer.
    void clear()
    Sets internal buffer contents to zero.
    double get​(int index)
    Get the element at the provided index relative to the start of the buffer.
    double removeFirst()
    Pop value at front of buffer.
    double removeLast()
    Pop value at back of buffer.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CircularBuffer

      public CircularBuffer​(int size)
      Create a CircularBuffer with the provided size.
      Parameters:
      size - The size of the circular buffer.
  • Method Details

    • addFirst

      public void addFirst​(double value)
      Push new value onto front of the buffer. The value at the back is overwritten if the buffer is full.
      Parameters:
      value - The value to push.
    • addLast

      public void addLast​(double value)
      Push new value onto back of the buffer. The value at the front is overwritten if the buffer is full.
      Parameters:
      value - The value to push.
    • removeFirst

      public double removeFirst()
      Pop value at front of buffer.
      Returns:
      value at front of buffer
    • removeLast

      public double removeLast()
      Pop value at back of buffer.
      Returns:
      value at back of buffer
    • clear

      public void clear()
      Sets internal buffer contents to zero.
    • get

      public double get​(int index)
      Get the element at the provided index relative to the start of the buffer.
      Parameters:
      index - Index into the buffer.
      Returns:
      Element at index starting from front of buffer.