All Projects → MaJerle → Lwrb

MaJerle / Lwrb

Licence: mit
Lightweight generic ring buffer manager library

Programming Languages

c
50402 projects - #5 most used programming language
ring
36 projects

Projects that are alternatives of or similar to Lwrb

Ecst
[WIP] Experimental C++14 multithreaded compile-time entity-component-system library.
Stars: ✭ 418 (+94.42%)
Mutual labels:  generic, library
Klib
A standalone and lightweight C library
Stars: ✭ 3,442 (+1500.93%)
Mutual labels:  generic, library
Observable
The easiest way to observe values in Swift.
Stars: ✭ 346 (+60.93%)
Mutual labels:  generic, library
Jvedio
Windows desktop application to manage local video;Support baidu AI, youdao translation;Support FFMPEG video processing;Support multi-database management and statistics;Support skin switching
Stars: ✭ 545 (+153.49%)
Mutual labels:  library, manager
Angular Pipes
Useful pipes for Angular
Stars: ✭ 652 (+203.26%)
Mutual labels:  pipe, library
Keyboardhidemanager
Codeless manager to hide keyboard by tapping on views for iOS written in Swift
Stars: ✭ 57 (-73.49%)
Mutual labels:  library, manager
Libgenerics
libgenerics is a minimalistic and generic library for C basic data structures.
Stars: ✭ 42 (-80.47%)
Mutual labels:  generic, library
Sc
Common libraries and data structures for C.
Stars: ✭ 161 (-25.12%)
Mutual labels:  generic, library
Jcplayer
🎵 A simple audio player for Android applications.
Stars: ✭ 209 (-2.79%)
Mutual labels:  library
Chatview
This is an Android library which can be used to add chat functionality to your android application with just a few lines of code.
Stars: ✭ 211 (-1.86%)
Mutual labels:  library
Friendly Challenge
The widget and docs for the proof of work challenge used in Friendly Captcha. Protect your websites and online services from spam and abuse with Friendly Captcha, a privacy-first anti-bot solution.
Stars: ✭ 207 (-3.72%)
Mutual labels:  library
Vanilla Tilt.js
A smooth 3D tilt javascript library.
Stars: ✭ 2,851 (+1226.05%)
Mutual labels:  library
Pottery
Redis for humans. 🌎🌍🌏
Stars: ✭ 204 (-5.12%)
Mutual labels:  library
Svelte Component Template
A base for building shareable Svelte 3 components
Stars: ✭ 208 (-3.26%)
Mutual labels:  library
Abort Controller
An implementation of WHATWG AbortController interface.
Stars: ✭ 213 (-0.93%)
Mutual labels:  library
Lpd8806
Arduino library for LED strips and pixels using LPD8806 (and probably LPD8803/LPD8809)
Stars: ✭ 207 (-3.72%)
Mutual labels:  library
Vuent
🎨 Vue.js components implementing Microsoft Fluent Design
Stars: ✭ 207 (-3.72%)
Mutual labels:  library
Cgal
The public CGAL repository, see the README below
Stars: ✭ 2,825 (+1213.95%)
Mutual labels:  library
W25qxx
w25qxx SPI FLASH driver for stm32 HAL
Stars: ✭ 211 (-1.86%)
Mutual labels:  library
Jsontreeviewer
json formatter/viewer/pretty-printer (with jsonTree javascript-library)
Stars: ✭ 211 (-1.86%)
Mutual labels:  library

Lightweight ring buffer manager

Library provides generic FIFO ring buffer implementation.

Read first: Documentation

Features

  • Written in ANSI C99, compatible with size_t for size data types
  • Platform independent, no architecture specific code
  • FIFO (First In First Out) buffer implementation
  • No dynamic memory allocation, data is static array
  • Uses optimized memory copy instead of loops to read/write data from/to memory
  • Thread safe when used as pipe with single write and single read entries
  • Interrupt safe when used as pipe with single write and single read entries
  • Suitable for DMA transfers from and to memory with zero-copy overhead between buffer and application memory
  • Supports data peek, skip for read and advance for write
  • Implements support for event notifications
  • User friendly MIT license

Contribute

Fresh contributions are always welcome. Simple instructions to proceed::

  1. Fork Github repository
  2. Respect C style & coding rules used by the library
  3. Create a pull request to develop branch with new features or bug fixes

Alternatively you may:

  1. Report a bug
  2. Ask for a feature request
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].