Ringbuffer (aka circular buffer) data structure for use in concurrent audio scenarios.

Other than minor modifications, this ringbuffer is a copy of Tim Blechmann's fine work, found as the base structure of boost::lockfree::spsc_queue (ringbuffer_base). Whereas the boost::lockfree data structures are meant for a wide range of applications / archs, this version specifically caters to audio processing.

The implementation remains lock-free and thread-safe within a single write thread / single read thread context.

T must be POD.

Public Member Functions

  • RingBufferT (RingBufferT &&other)
  • ~RingBufferT ()