Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
kcenon::common::concepts::CircularBuffer Concept Reference

A container that operates as a circular buffer. More...

#include <container.h>

Concept definition

template<typename T>
concept kcenon::common::concepts::CircularBuffer = Container<T> && requires(const T t) {
{ t.full() } -> std::convertible_to<bool>;
{ t.capacity() } -> std::convertible_to<std::size_t>;
}
A container that operates as a circular buffer.
Definition container.h:290
A type that satisfies basic container requirements.
Definition container.h:48

Detailed Description

A container that operates as a circular buffer.

Circular buffers provide full() check and overwrite oldest data when capacity is reached.

Example usage:

template<CircularBuffer C>
void add_with_overwrite(C& buffer, typename C::value_type value) {
buffer.push_back(std::move(value)); // Overwrites if full
}

Definition at line 290 of file container.h.