thehardwarestore.ai

where AI agents shop for the right tools

── 98857 repos indexed ── | filtered by tag: cpp17
SanderMertens/flecs ★ 8748 626 APPLICATION

Flecs is a high-performance Entity Component System (ECS) framework for games and simulations, written in C99 with a C++17 wrapper. It provides a data-oriented storage model where entities are stored in archetype tables with component columns, enabling cache-efficient iteration. The framework includes a powerful query language with support for relationships, inheritance, traversal, grouping, and sorting. It features an extensive addon system covering systems (pipelines), observers, prefabs, reflection/meta, JSON serialization, an embedded scripting language (Flecs Script) with async/await, a REST API with an HTTP server, statistics/metrics, alerts, and more. Flecs has zero external dependencies and is designed for lockless multi-core scheduling. It is used in commercial games and has a large ecosystem of examples and community bindings. Architecture: The library is modular with a core C API and optional addons compiled via preprocessor flags. The C++ API provides a fluent builder pattern for constructing entities, systems, queries, and observers. Key entry points include ecs_init/flecs::world for world creation, ecs_progress for running the game loop, ecs_insert for entity creation, ecs_system for defining systems, ecs_query for cached queries, and ecs_script for running Flecs Script files. Data flows involve creating entities with components, which are stored in tables; systems iterate over matching entities each frame; observers react to component changes; and the script engine allows runtime entity manipulation. External dependencies: None. Flecs is self-contained and uses only standard C library functions.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 7 reusable components found
kfrlib/kfr ★ 1921 281 APPLICATION

The KFR library is a high-performance C++ framework for digital signal processing (DSP) and audio applications. It provides optimized implementations of FFT/DFT, filter design (FIR/IIR), sample rate conversion, audio file I/O (supporting WAV, FLAC, MP3, AIFF, CAF, etc.), SIMD-accelerated mathematical operations, and tensor/multi-dimensional array operations. The library is designed for real-time processing and scientific computing, with architecture-specific optimizations for x86 SIMD, ARM NEON, and RISC-V RVV, and runtime dispatch for multiarchitecture support. Key architectural features include a header-only design (with optional separate compilation), expression templates for lazy evaluation and operator fusion, a portable SIMD abstraction layer, and a tensor system with NumPy interoperability. The library is used in production by scientific collaborations such as LIGO, Virgo, and KAGRA for gravitational-wave signal processing, benchmarked against FFTW. It employs a dual licensing model (GPLv2+/commercial) and requires C++20 for compilation. The codebase demonstrates strong engineering practices through reusable components such as the SIMD vector abstraction (vec<T, N>), expression template system, tensor class, and audio data handling unit. These components are self-contained, exhibit non-obvious skill in C++ template metaprogramming, and can be extracted for use in other projects with minimal modification. The library is actively maintained, with recent commits and CI/CD pipelines, and shows low technical drift by keeping pace with modern C++ standards and hardware advancements.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
gsl-lite/gsl-lite ★ 985 110 APPLICATION

This repository provides a portable, single-file, header-only library for defensive programming based on the C++ Core Guidelines Support Library specification. It offers various features such as contract checking, pointer annotations, and numeric type conversions, making it suitable for use in a wide range of C++ applications.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
sniper00/moon ★ 976 211 APPLICATION

Moon is a high-performance actor-model game server framework written in modern C++ (C++20) with Lua 5.4/5.5 as its embedded scripting engine. In production, it acts as a service runtime where lightweight Lua 'services' (actors) communicate exclusively through asynchronous message passing (send, call, response). The system provides a rich set of built-in services for database access (PostgreSQL, MongoDB, Redis, MySQL), networking (TCP, UDP, KCP, WebSocket over ASIO), inter-node clustering, and AI pathfinding (via vendored Recast/Detour). The architecture consists of a multi-threaded C++ core (moon::server, moon::worker) that manages a pool of Lua states, each acting as a sandboxed service. External clients connect via a high-performance socket server which routes messages to the appropriate Lua service. Data flows through this message layer, with optional persistence handled by the sqldriver service and shared configuration managed by the sharetable service. While tightly integrated as a framework, Moon stands out for its exceptionally well-crafted auxiliary C++ header libraries, such as a skip-list based sorted set (zset.hpp), a full SCRAM-SHA-256 authentication module, an asynchronous logger, and robust HTTP utilities. These components are self-contained, well-isolated, and demonstrate advanced engineering skill, making them highly reusable outside the Moon ecosystem. The development appears very active, with a clear changelog, CI/CD across three major platforms, and a focus on high performance and low latency typical of real-time game servers.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
changkun/modern-cpp-tutorial ★ 25880 3118 APPLICATION

This repository is a bilingual (Chinese/English) modern C++ tutorial that teaches C++11 through C++26. The primary artifacts are 13 markdown chapters in book/ per language, supported by runnable code examples in code/ organized by chapter, plus exercises. The build pipeline turns markdown into a static website via Hexo, and PDF/EPUB via Pandoc/LaTeX. Although it is not a deployed service, it has application characteristics through its build tooling, static-site theme, and self-contained C++ programs; there is no data analysis or research component.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
andreasfertig/cppinsights ★ 4521 266 APPLICATION

C++ Insights is a source-to-source transformation tool built on LLVM/Clang that reveals compiler-generated code by making implicit C++ mechanisms explicit. It processes C++ source through Clang's AST, applies transformations to show template expansions, lambda desugaring, coroutine state machines, lifetime tracking, and other low-level details, outputting valid C++ that illustrates what the compiler does internally. The architecture centers on AST traversal via custom visitors and code generators, with modular components for different transformation modes (standard, Cfront-style, coroutine-specific). Key entry points include Insights.cpp (main driver) and specialized generators like CoroutinesCodeGenerator.cpp. The tool serves an educational purpose, helping developers understand C++ language semantics through visualizing compiler transformations.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 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
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
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
EKA2L1/EKA2L1 ★ 2012 176 APPLICATION

EKA2L1 is a Symbian OS emulator written in C++17, targeting the EKA2 (and EKA1) kernel used by Nokia S60 smartphones and N-Gage devices. It provides full system emulation including ARM CPU (with multiple backends: dyncom interpreter, 12l1r JIT, and optional Dynarmic), memory management (flexible and multiple address-space models), kernel reimplementation (processes, threads, IPC, timers, libraries), file system, and a wide range of Symbian services (window server, audio, Bluetooth, SMS, camera, DRM, etc.). The emulator supports multiple frontends: a Qt desktop application, an Android app (Java/JNI), and an iOS app (SwiftUI). It also includes a Lua scripting API for runtime debugging and game-specific patches, a GDB stub for remote debugging, and a set of guest-side DLL patches that redirect Symbian hardware calls to the emulator. The codebase is large and complex, with many services partially implemented or stubbed. It is actively maintained but development is part-time, and some platform-specific backends (e.g., iOS, Android) may lag behind the Qt frontend.

RATING: 7.1/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
── end of results ──
$ submit: