Struct Ringbuffer

Struct Documentation

struct Ringbuffer

Buffer for storing generic types in a circular manner.

Example:

#define CAPACITY 16

struct Foo {
  uint16_t data;
};

struct Foo storage[CAPACITY];
struct Ringbuffer buffer;
struct Ringbuffer_init(
  &buffer,
  (uint8_t*)&storage,
  CAPACITY,
  sizeof(struct Foo));

struct Foo item = {};
Ringbuffer_put(&buffer, (uint8_t *)&item);

Public Members

struct Ringbuffer_Index index
uint8_t *storage

index offset is mapped to n*sizeof(Ringbuffer_Index.itemSizeBytes); must be uint8_t for proper pointer arithmetics