jnk0le / Ring-Buffer

simple C++11 ring buffer implementation, allocated and evaluated at compile time
MIT License
374 stars 62 forks source link
atomic circular circular-buffer compile-time cpp cpp11 embedded fifo lock-free lock-free-queue optimized ring-buffer ringbuffer template wait-free wait-free-queue zero-overhead zero-overhead-abstraction

Ring Buffer

notes

example


jnk0le::Ringbuffer<const char*, 256> message;

int main()
{
    //...
    while(1)
    {
        const char* tmp = nullptr;
        while(!message.remove(tmp));
        printf("%s fired\n", tmp);
        //...
    }
}

extern "C" void SysTick_Handler(void)
{
    message.insert("SysTick_Handler");
}