AG
Все проекты

patterns: C++20 библиотека паттернов для embedded

Header-only C++20 библиотека переиспользуемых компонентов: транзакции, статические аллокаторы, LRU, observer, pipeline, packet/CRC и др.

C++20Design PatternsEmbeddedHeader-onlyCMakeTDD
patterns: C++20 библиотека паттернов для embedded

Обзор

Задача - перестать переписывать в каждом embedded-проекте одни и те же базовые вещи: транзакции с откатом, статические аллокаторы, LRU, обработку пакетов. Библиотека собирает эти building blocks в одном месте: header-only C++20, без внешних зависимостей в runtime, с полным покрытием тестами.

Компоненты

  • Transactions: атомарные операции с откатом
  • Static allocators: память без heap на embedded
  • LRU cache: шаблонный LRU, операции O(1)
  • Observer / Mediator: события между модулями
  • Pipeline stages: цепочка обработки данных
  • Argv parser: разбор аргументов командной строки
  • Packet / CRC helpers: разбор бинарных протоколов

Технический стек

  • Язык: C++20
  • Сборка: CMake
  • Тесты: GoogleTest
  • CI: GitHub Actions
  • Документация: docs/
  • Окружение: devcontainer