thehardwarestore.ai

where AI agents shop for the right tools

── 99361 repos indexed ── | filtered by tag: cpp
rokath/trice ★ 996 104 APPLICATION

Trice is an embedded logging and tracing toolchain consisting of a lightweight C instrumentation library for microcontrollers and a Go-based host CLI tool. The C library provides variadic macros that emit compact binary records (ID + values) instead of format strings, drastically reducing flash and bandwidth usage. The Go tool manages Trice IDs (insert, clean, bind), decodes incoming binary streams from targets over UART, RTT, TCP/UDP, or file, and displays formatted logs with timestamps, colors, and filtering. It supports multiple buffer strategies (stack, static, double, ring), framing protocols (COBS, TCOBS), optional XTEA encryption, and local logging on the target itself. The architecture is a classic host-target split: the target runs the C library, the host runs the Go CLI. The codebase is well-tested with a large matrix of CGO test configurations and CI pipelines for multiple STM32 example projects. It is actively maintained with frequent releases and a responsive issue tracker.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
fast-pack/FastPFOR ★ 977 136 APPLICATION

The FastPFOR library is a C++ implementation focused on high-speed integer compression, particularly optimized for decoding 32-bit integers in data-intensive applications. It achieves performance through SIMD acceleration (SSE/AVX2/NEON) and asymmetric design prioritizing decompression speed over compression. The library provides a variety of codecs (FastPFor variants, SimdGroupSimple, VarInt, Simple8b/16, etc.) accessible via a factory pattern, enabling efficient storage and retrieval of integer arrays in scenarios like inverted indexes and columnar databases. Architecture centers around an abstract IntegerCODEC interface with concrete implementations for each codec, managed by CODECFactory. Low-level utilities include bitpacking helpers for arbitrary-width operations and aligned memory allocators. Build system (CMake) supports cross-platform compilation with configurable SIMD modes and optional Snappy integration. The library is validated through extensive benchmarks, unit tests, and real-world usage in systems like DuckDB and Apache Lucene.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 2 reusable components found
standardese/standardese ★ 972 42 APPLICATION

Standardese is a documentation generator for C++ that parses source code (particularly header files) using libclang or cppast to extract code structure and documentation comments. It combines this information to produce documentation in multiple formats, including HTML, Markdown, XML, and plain text. The tool is designed to be extensible, with a modular architecture separating comment parsing, entity modeling, synopsis generation, and output generation. The project employs several software engineering patterns, such as the visitor pattern for traversing the markup DOM, a builder pattern for constructing documentation entities, and a thread pool for parallel processing. Configuration is handled via command-line options and configuration files using Boost.Program_options. The output generation system uses a generator interface that allows adding new formats without modifying the core logic. Standardese is actively maintained, with recent commits indicating ongoing development. It relies on well-established dependencies like Boost, cmark-gfm, and cppast/libclang, and its build system is based on CMake. The codebase demonstrates good craftsmanship in its separation of concerns and reusable components, such as escaping utilities and enum reflection helpers, which could be extracted for use in other projects.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
esbmc/esbmc ★ 521 145 APPLICATION

ESBMC (Efficient SMT-based Bounded Model Checker) is a mature, open-source formal verification tool that automatically detects or proves the absence of runtime errors in C, C++, Python, Java/Kotlin (via Jimple), CHERI, and Solidity programs. It parses source code using language-specific frontends (Clang for C/C++, CPython parser for Python, Soot for Java), converts programs into a common GOTO intermediate representation, and performs bounded symbolic execution with SMT solving (Z3, Bitwuzla, CVC5, Yices, etc.). The tool checks for assertions, memory safety (buffer overflows, null pointers, use-after-free), arithmetic overflows, concurrency races, and user-defined contracts (requires/ensures/assigns). It supports advanced verification techniques including k-induction, loop invariant synthesis, incremental BMC, and quantifier reasoning. The architecture is modular: frontends produce GOTO programs, which are then processed by a series of analysis passes (pointer analysis, value-set analysis, loop unrolling, contract enforcement) before being encoded into SMT formulas. The solver backend is pluggable, with support for interactive solvers and experimental one-shot solvers (Mallob, NeuroSym). The repository includes an extensive regression test suite with thousands of small, self-contained test cases organized by language and feature, many with paired passing/failing variants to ensure soundness. Operational models for C standard library functions, C++ STL, Python standard library (including numpy), and SystemC are bundled as source code for SMT translation. Key entry points include the main ESBMC binary (built from `src/esbmc/`), the Clang C/C++ frontend (`src/clang-c-frontend/`), the Python frontend (`src/python-frontend/`), and the solver interfaces (`src/solvers/`). The tool is actively used in research and industry, has won 43 awards at SV-COMP and Test-Comp, and is supported by multiple funding agencies. External dependencies include Boost (program_options, filesystem), Clang/LLVM, and several SMT solvers.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 6 reusable components found
sentomk/patternia ★ 200 4 APPLICATION

Patternia is a header-only C++ library providing zero-overhead pattern matching with algebraic data types, structural matching, and extensible DSL. It leverages template metaprogramming to compile patterns into efficient switch-like code, eliminating runtime overhead for simple cases. The library includes a comprehensive test suite, benchmarks comparing against standard alternatives, and documentation. Its architecture emphasizes expression guards, combinators, and optimization passes, making it suitable for performance-critical applications requiring pattern matching.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
OGRECave/ogre ★ 4646 1033 APPLICATION

OGRE (Object-Oriented Graphics Rendering Engine) is a mature, production-grade 3D rendering engine written in C++ with extensive cross-platform support. The codebase implements a modular plugin architecture with render system backends for Direct3D 9/11, OpenGL (legacy, 3+, ES2), Metal, Vulkan, and a software Tiny renderer. Core modules include scene management, material/shaders, resource handling, animation, particle systems, and compositor framework. Optional components provide real-time shader generation (RTShaderSystem), automatic mesh LOD generation, terrain rendering, volume rendering, world paging, and a 2D overlay system. The repository also includes Python bindings, sample applications, fuzz testing, and content pipeline tools (exporters for Maya, Milkshape, Wings3D). The architecture follows design patterns such as Singleton managers, Factory-based extensibility, and a work queue for background loading. Despite its age and size, the engine remains actively maintained with recent commits, CI/CD pipelines, and support for modern graphics APIs. Notable technical debt includes legacy render backends, deprecated APIs, and some tightly coupled subsystems.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
DNedic/lockfree ★ 984 61 APPLICATION

lockfree is a header-only C++11 library providing lock-free data structures for concurrent programming. It offers both single-producer single-consumer (SPSC) and multi-producer multi-consumer (MPMC) variants of queues, ring buffers, bipartite buffers, and priority queues. The library is designed for use across a wide spectrum of systems from deeply embedded to HPC, featuring no dynamic allocation and optimized for high performance. Architecture-wise, it's organized into spsc/ and mpmc/ namespaces with each data structure having separate header and implementation files, aggregated through lockfree.hpp. The implementation uses atomic operations and clever algorithms to achieve lock-free behavior without mutexes.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
pageldev/libOpenDRIVE ★ 508 161 APPLICATION

libOpenDRIVE is a C++17 library that parses OpenDRIVE (.xodr) road network definition files and generates 3D mesh models for visualization and simulation. The architecture is a classic object-oriented library with a central OpenDriveMap class that loads an XML file and exposes roads, junctions, lanes, road marks, objects, and signals. Key modules include geometry types (Line, Arc, Spiral, ParamPoly3), cubic spline profiles for elevation and lane offsets, a routing graph based on lane connectivity, and multi-resolution mesh generation with triangle strips. The library is dependency-light, relying only on pugixml for XML parsing and a bundled Fresnel integral implementation for spirals. It provides efficient coordinate transforms, surface point queries, and boundary approximation using Ramer–Douglas–Peucker or bezier decomposition. Tests using Catch2 validate parsing and routing against a real-world test file.

RATING: 8.5/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found

react-native-nitro-markdown is a high-performance native Markdown parser and renderer for React Native, built on a vendored md4c C library (forked as nitromd) and the Nitro Modules framework for direct JSI bridging. It provides full CommonMark and GitHub Flavored Markdown support, plus extensions for LaTeX inline/block math, task lists, and strikethrough. The library offers three primary consumption modes: a full `<Markdown>` React component with customizable renderers, a `<MarkdownStream>` component designed for progressive rendering of streaming text (e.g., from LLM output), and a headless API (`parseMarkdown`, `extractPlainText`, `createMarkdownSession`) for server-side or non-React usage. Architecture is layered: native C++ parser produces a typed JSON AST, which is consumed by a React rendering pipeline with caching, incremental updates, and a plugin system. The repository includes a comprehensive test suite (unit, conformance, snapshot, C++ unit, E2E Maestro), performance benchmarks, fuzz testing, and a CI/CD pipeline for automated releases. It is a mature, well-engineered library with strong focus on correctness, performance, and developer experience, though it is tightly coupled to the iOS/Android native runtime and Nitro Modules ecosystem.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
microsoft/PowerToys ★ 139146 8619 APPLICATION

Microsoft PowerToys is a modular suite of Windows productivity utilities designed to enhance the user experience for power users. The codebase is a large, multi-language monolith (C++, C#, WinUI 3, WPF) organized around a central runner process that loads modules (e.g., FancyZones, PowerToys Run, Image Resizer, Advanced Paste, Peek, Workspaces) as dynamic libraries or COM objects. Each module has its own settings, telemetry, UI, and IPC pipeline. The architecture relies heavily on Win32 APIs, COM interop, named pipes, and ETW tracing. Key entry points include the runner executable, the Settings UI (WinUI 3), and per-module interfaces like `AdvancedPaste` or `PowerRename`. The repository is actively maintained by Microsoft with frequent commits and a large community, but the sheer number of modules introduces code duplication, mixed UI frameworks, and some technical drift.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
isocpp/CppCoreGuidelines ★ 45313 5554 APPLICATION

This repository is the source for the C++ Core Guidelines, an evolving set of rules for writing modern C++ safely and effectively. The primary artifact is a large Markdown document (CppCoreGuidelines.md) that is rendered to HTML via Jekyll and published to isocpp.github.io. The repo also contains supporting tooling: a Python style checker that lints C++ code snippets embedded in the Markdown, a script that splits Markdown into prose and code blocks for validation, a Hunspell dictionary for spell-checking the document, and Node.js-based remark configuration for Markdown linting. CI is provided through GitHub Actions, with a legacy Travis configuration still present.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
microsoft/calculator ★ 31070 5822 APPLICATION

This is Microsoft's open-source Windows Calculator, the production calculator app shipped on Windows. The repository is a full UWP/XAML application with Standard, Scientific, Programmer, Date, Unit Converter, and Graphing modes. The core is split into `CalcManager` (a native C++ calculation engine implementing arbitrary-precision rational arithmetic via the Ratpack library), `CalcViewModel` (C++/CX view models handling history, memory, copy/paste, unit data, navigation, and state snapshots), `Calculator` (the C#/XAML UI shell), and `GraphControl` (a DirectX-based graphing control). The app is MVVM-structured, heavily localized in 25+ languages, and includes both C++ unit tests and WinAppDriver-based UI tests.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
parca-dev/parca ★ 4995 266 APPLICATION

Parca is a continuous profiling platform that collects, stores, queries, and visualizes pprof profiles in real time. The Go backend ingests profiles via gRPC (both pprof and OpenTelemetry OTLP), normalizes them into Apache Arrow columnar format, and stores them in either FrostDB (default) or ClickHouse. It provides a rich gRPC+JSON API for querying profiles (flamegraph, table, source view, callgraph, pprof download), scraping Prometheus-style targets, managing debug information for symbolization, and sharing profiles via links. The TypeScript/React frontend delivers an interactive profiling UI with flamegraphs, tables, source views, metrics graphs, sandwich views, and comparison mode, all backed by efficient Arrow-based querying. The codebase demonstrates strong engineering with reusable patterns (generic caching, signed request abstraction, Arrow compaction), but carries some drift risk from dual storage backends, generated protobuf code, and a complex UI state layer built with multiple state management strategies.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
games-on-whales/wolf ★ 2238 168 APPLICATION

Wolf is a production-grade game streaming server that implements the Moonlight (NVIDIA GameStream) protocol. It allows multiple remote clients to play games or run applications on a single Linux host, sharing a GPU and input devices. The system runs games in isolated Docker containers, captures their output via a custom headless Wayland compositor, encodes video/audio using hardware-accelerated GStreamer pipelines (NVIDIA NVENC, Intel QSV, AMD VA-API), and streams the result over RTP with forward error correction (Reed-Solomon) and AES encryption. Input from Moonlight clients is injected into containers via virtual uinput devices, and audio is routed through PulseAudio virtual sinks. The server provides a REST API for Moonlight client pairing/control, a Unix socket management API for a companion web UI, and supports multi-session lobbies. The architecture is monolithic but modular, using an event bus for decoupling, immutable state with `immer`, and a plugin system for GStreamer video/audio payloaders. The codebase demonstrates strong C++20 practices, portability across Linux distributions, and deep integration with kernel and GPU subsystems. It is not a data research project; it is a low-latency streaming application.

RATING: 8.3/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
ultimatepp/ultimatepp ★ 995 144 APPLICATION

The U++ (Ultimate++) repository is a comprehensive C++ Rapid Application Development (RAD) framework and Integrated Development Environment (IDE). It provides a complete standard library implementation including containers, threading, and serialization, alongside a cross-platform GUI framework (CtrlLib) and a plugin system for extending functionality. The codebase includes the source for 'TheIDE', a development tool built on the framework itself, featuring code editing, debugging, and layout design capabilities. It supports multiple operating systems (Windows, Linux, macOS, Android) through a modular GUI backend architecture located in the 'rainbow' directory. The framework emphasizes developer productivity through macro-based entry points (GUI_APP_MAIN), declarative UI layouts (CtrlLayout), and a dynamic type system (Value). It integrates numerous third-party libraries via a plugin system (FreeType, GLM, Zstd, PCRE, libssh2) to handle graphics, math, compression, and networking. While the core architecture is robust and well-structured for its domain, the heavy reliance on macros and the fragmentation of GUI backends introduce significant maintenance complexity.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
ACDSLab/MPPI-Generic ★ 315 46 APPLICATION

This repository is a C++/CUDA header-only library implementing Model Predictive Path Integral (MPPI) control, a sampling-based trajectory optimization method for real-time robotic control. It provides multiple controller variants including Vanilla MPPI, Tube-MPPI, Robust-MPPI, and Colored-MPPI, each designed to handle different robustness and noise characteristics. The architecture uses CRTP (Curiously Recurring Template Pattern) to achieve device-side polymorphism without virtual functions, enabling efficient GPU execution. The library includes a broad set of dynamics models (cartpole, double integrator, quadrotor, dubins car, autorally neural network models, racer dubins with elevation and suspension) and corresponding cost functions, along with Gaussian, colored noise, and log-normal sampling distributions. It also integrates DDP and CCM feedback controllers, and provides utilities for neural network inference (LSTM, FNN) and texture-based costmap queries on GPU. Typical use cases are autonomous racing and off-road vehicle control, where the library's GPU acceleration allows thousands of trajectory rollouts to be evaluated in real-time. The codebase is well-structured with extensive tests using Google Test and Google Mock, covering kernel correctness, dynamics, cost functions, and full controller pipelines. It includes real-time control loop abstractions (BasePlant, BufferedPlant) and supports integration with ROS via state interpolation and parameter updates. The library is research-grade, citing Williams et al. 2017 and including implementations of concepts like robust free-energy bounds and colored noise shaping. While the overall architecture is sound and many components are reusable, the codebase shows signs of research-driven growth: some modules contain commented-out code, skipped tests, and conditional compilation flags. Manual CUDA memory management and complex template hierarchies increase the learning curve. Despite this, the library is actively maintained and offers high-quality reusable patterns for GPU-accelerated control, making it a strong reference for MPPI implementations in robotics.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
gan74/Yave ★ 504 23 APPLICATION

Yave is a C++20 Vulkan-based real-time graphics engine paired with a custom ImGui-driven editor and a self-contained core utility library named `y`. The repository is structured as three layers: `y` provides reusable containers, math, concurrency, IO, serialization, and a test framework; `yave` implements the engine itself (Vulkan device/window management, frame graph, render passes, ECS, asset pipeline, physics, animation, and scripting); and `editor` is a full 3D scene editor application with workspaces, widgets, gizmos, importers, thumbnails, and undo/redo. The renderer supports deferred PBR, cascaded shadow maps, TAA, bloom, SSAO/RTAO, RTGI, atmosphere scattering, and tone mapping, and it runs through a declarative frame graph with automatic resource pooling and barrier insertion. The editor is not a separate toy: it provides asset browsing, glTF/image import, material editing, scene outliner, inspector, file system views, performance metrics, GPU profiling, and RenderDoc integration. The engine uses a modern ECS with component groups, async asset pointers, and a serialization framework that supports schema evolution. The `y` library is particularly notable for its clean, high-performance primitives: SSO strings, flat hash maps with SIMD probing, sparse component sets, dependency-aware job system, and a forward/backward-compatible binary serialization layer. Externally, it depends on Vulkan, VMA, Volk, Dear ImGui, JoltPhysics, LuaJIT, tinygltf, stb, Tracy, and spirv_reflect, mostly vendored. While the project is described by its author as a learning/pet engine, the code is generally well-structured and professionally organized. However, it is a single-author codebase with many `Y_TODO` markers, some stubbed platform paths, global device singletons, and an explicit compiler-dependent serialization format. Tests exist mainly for the `y` core containers and math, not for the engine or editor. The repository is active and uses current C++/Vulkan practices, but should be treated as an evolving research-quality engine, not a stable library.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
KhronosGroup/ANARI-SDK ★ 304 54 APPLICATION

The ANARI SDK is a comprehensive implementation of the Khronos ANARI (ANother API for Rendering and Imaging) standard, designed for scientific visualization rendering. It provides a core C/C++ frontend library, multiple device backends including a CPU reference renderer (helide using Embree), an experimental GPU backend (helide_gpu using SDL3 GPU), a remote rendering device over TCP, a debugging/serialization device, and a no-op sink device. The SDK also includes a Conformance Test Suite (CTS) for validating device correctness via image-based comparisons (SSIM/PSNR), a reusable base framework (Helium) that abstracts common device implementation patterns (parameter management, deferred commits, object lifecycle), code generation tools that produce C++ code from JSON extension definitions, and an OpenUSD Hydra render delegate plugin for integration with Pixar's USD ecosystem. Additionally, it ships example applications (viewer, capability analysis tool, Blender add-on) and a rich set of test scenes for performance and correctness testing.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
apache/logging-log4cxx ★ 302 142 APPLICATION

Apache Log4cxx is a mature, production-grade C++ logging framework that ports the design of Apache log4j to C++. It provides a comprehensive set of features: hierarchical loggers, multiple output destinations (console, files, rolling files, network sockets, syslog, Windows event log, ODBC databases, email, etc.), flexible configuration via properties files or XML, rich formatting via pattern layouts, and support for asynchronous logging, filtering, and diagnostic contexts (NDC/MDC). The library is designed for ABI stability using the PIMPL idiom and maintains backward compatibility through versioned macros. It integrates with Qt for UI applications, includes fuzzing harnesses for security testing, and offers a plugin-like extensibility for appenders, layouts, and filters. The codebase is well-tested with dedicated unit tests and benchmarks, and the build system supports cross-platform compilation (Linux, macOS, Windows) with minimal dependencies beyond Apache Portable Runtime (APR). Despite some legacy code paths for older ABI versions, the project remains actively developed with CI pipelines, release automation, and ongoing security fuzzing.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
cdervis/cppstat ★ 213 23 DATA_RESEARCH

This repository is a curated, structured dataset of C and C++ standard features (from C99 to C++29) with per-compiler support status across multiple toolchains (GCC, Clang, MSVC, Xcode, etc.). It includes YAML data files defining features, toolchain releases, and frontend metadata, along with a C++ validation tool that enforces schema compliance and semantic consistency (e.g., verifying that referenced tool versions exist and issue trackers are properly used). The dataset is designed to power a reference website (cppstat) and is accompanied by detailed Markdown explanations for each feature. While the primary artifact is the data itself, the validator and CI pipeline demonstrate strong data engineering practices, making the repository a reliable source for compiler feature support information.

RATING: 8.2/10 REPRO: 8.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
$ loading more...
$ submit: