ring
Ring Buffer (Circular Buffer)
Functions
| Function | Description |
|---|---|
ring_pages_for | |
ring_new | Create ring buffer with given capacity. |
ring_push | Push a value. If full, overwrites oldest and returns evicted value. Returns 0… |
ring_pop | Pop oldest value. Returns 0 if empty. |
ring_peek | Peek at oldest without removing. |
ring_peek_newest | Peek at newest without removing. |
ring_len | |
ring_cap | |
ring_full | |
ring_empty | |
ring_get | Get element at logical index (0 = oldest). |
ring_clear | Clear the ring buffer. |
ring_sum | Sum of all elements. |
ring_avg | Integer average (0 if empty). |
Details
ring_pages_for
fn ring_pages_for(n: i64) -> i64ring_new
fn ring_new(cap: i64) -> &i64Create ring buffer with given capacity.
ring_push
fn ring_push(r: &i64, val: i64) -> i64Push a value. If full, overwrites oldest and returns evicted value. Returns 0 if not full.
ring_pop
fn ring_pop(r: &i64) -> i64Pop oldest value. Returns 0 if empty.
ring_peek
fn ring_peek(r: &i64) -> i64Peek at oldest without removing.
ring_peek_newest
fn ring_peek_newest(r: &i64) -> i64Peek at newest without removing.
ring_len
fn ring_len(r: &i64) -> i64ring_cap
fn ring_cap(r: &i64) -> i64ring_full
fn ring_full(r: &i64) -> i64ring_empty
fn ring_empty(r: &i64) -> i64ring_get
fn ring_get(r: &i64, idx: i64) -> i64Get element at logical index (0 = oldest).
ring_clear
fn ring_clear(r: &i64)Clear the ring buffer.
ring_sum
fn ring_sum(r: &i64) -> i64Sum of all elements.
ring_avg
fn ring_avg(r: &i64) -> i64Integer average (0 if empty).