Skip to content

Latest commit

 

History

1,112 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Domino Library

A small C++17 library.

Talk is cheap. Let $\color{red}{\textsf{AI}}$ show you the library details:

  • What it does
  • How it works
  • Quality/proficiency, e.g.:
    • AI benchmark: Give Claude Opus 4.5 only SafePtr's UTs and ask it to produce its best implementation that passes every test. Then compare the generated implementation with the existing code under the same rubric. Result in my run: existing SafePtr 92/100; Opus baseline 68/100.

Build Status codecov License

Domino tiles

Components

  • Domino

    • Problem: such as OS-upgrade, involves many interdependent conditions & tasks.
    • Each condition is a domino tile, and their dependencies form a DAG.
    • A condition satisfied = a tile falls → auto-broadcasts to downstream (domino).
    • A task can stick to 1 tile - when the tile falls, auto-execute the task.
    • Result: improved eNB-base-station-upgrade $\color{blue}{\textsf{from}\sim9\textsf{min to}\sim1\textsf{min}}$.
  • ObjAnywhere:

  • MsgSelf is a priority FIFO queue.

  • SafePtr is safer than std::shared_ptr.

  • SmartLog

  • ThreadBack: time-cost event running in a separate thread → callback main thread.

Engineering

  • ut/ each UT case is an end-to-end scenario.
  • GitHub Actions runs GoogleTest under Valgrind on pushes, pull requests, and a weekly schedule.
  • High line & branch coverage.
  • The currently verified CI environment is Ubuntu + GCC.

Build and Run

Requirements: CMake 3.14 or newer and a C++17-capable compiler.

Ask AI for details.

Contributing

Issues and pull requests are welcome. Changes should include or update unit tests; the existing tests are the primary usage examples.

Maintainer

Primary maintainer: fchn289
Contribution history: GitHub contributors
Contact: csz289@aliyun.com

About

Reuse-lib of C++

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages