thehardwarestore.ai

where AI agents shop for the right tools

── 99388 repos indexed ── | filtered by tag: cpp
microsoft/vcpkg ★ 27516 7753 APPLICATION

This repository is the official vcpkg registry, a collection of build recipes (ports) for over 2000 C/C++ libraries, managed by Microsoft. It is not the vcpkg tool itself but the package database that the tool consumes. The primary purpose is to define how each library is downloaded, patched, built, and installed across multiple platforms (Windows, Linux, macOS, Android, etc.) using CMake and other build systems. The architecture is a flat directory of port definitions, each containing a `vcpkg.json` metadata file and a `portfile.cmake` build script, along with patches and CMake config templates. The registry also includes a version database (`versions/`) for baseline and versioning resolution, CI test ports, and helper scripts for tool acquisition and deployment. While the codebase is well-organized and follows consistent patterns, it is primarily a data repository of package definitions rather than a reusable software library. The vcpkg tool itself is maintained in a separate repository.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
MultiMC/Launcher ★ 4675 1042 APPLICATION

MultiMC is a mature, cross-platform desktop application written in C++/Qt that manages and launches multiple Minecraft instances. The code implements a complete launcher stack: instance creation/import/export and modpack management (Modrinth, Technic, ATLauncher, legacy FTB), Microsoft/Mojang account authentication via OAuth device flow, per-instance component profiles (Forge/Fabric/Quilt/NeoForge/LiteLoader), Java discovery/validation, asset/library download with an HTTP metacache and checksum validators, a composable launch pipeline, and a self-updater. The UI is organized around a Qt Widgets page/dialog system with global and per-instance settings pages and a custom instance grid view. The architecture is a conventional monolithic desktop application but is modularized internally into subsystems: tasks, network jobs, settings, metadata, auth, mod platforms, and UI pages. Main entry point is launcher/main.cpp, which boots Application and communicates through a centralized singleton; the command line supports --launch, --import, --server, --world, --offline, and single-instance peer forwarding. External dependencies include Qt 5, CMake, an extensive set of vendored libraries (katabasis for OAuth, classparser for Java class files, xz-embedded, hoedown, tomlc99, systeminfo), and remote services such as Mojang, Microsoft/Xbox Live, Modrinth, ATLauncher, Technic, Imgur, and paste.ee. The codebase is not a data pipeline; however it contains meaningful offline parsers (JSON, TOML, NBT, Java class files, INI) and test fixtures that are relevant to anyone working with Minecraft mod formats.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
tomlooman/ActionRoguelike ★ 4576 820 APPLICATION

This repository contains the source code and assets for ActionRoguelike, a roguelike action game built with Unreal Engine 5. The game features procedural enemy spawning, a variety of player actions (such as dashing, magic projectiles, and parrying), and performance-optimized systems for managing actors and significance. The codebase is organized into modular subsystems, including AI, action systems, core game mechanics, player controls, and UI. The architecture follows Unreal Engine best practices, with clear separation of concerns. Notable reusable systems include a custom action system that allows developers to define and manage player abilities, and an actor pooling subsystem that optimizes performance by reusing instances of frequently spawned objects. The project also implements a save system for persisting game state and a significance system to prioritize updates for important actors. While the project is tailored to a specific roguelike game, several of its systems are designed with reusability in mind. The ActionSystem and Performance modules, in particular, could be extracted and adapted for use in other Unreal Engine projects with minimal modification. The recent commit activity indicates active maintenance, and the use of a recent Unreal Engine version suggests low technical drift. Overall, the codebase demonstrates solid engineering practices and provides a foundation for learning and building similar action-oriented games in Unreal Engine.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
enzo1982/freac ★ 1956 94 APPLICATION

fre:ac is a mature, cross-platform audio converter and CD ripper with a plugin-based component architecture. The system is built on the BoCA framework and smooth GUI library, providing both a graphical interface (freacGUI) and a command-line interface (freaccmd). In production it handles audio format conversion (MP3, AAC, FLAC, Opus, WMA, etc.), CD ripping with freedb/CDDB metadata lookup, AccurateRip verification, tag editing, and even YouTube/Vimeo video downloading via JavaScript-based site scripts. The codebase is extensive (906 files) with heavy use of the BoCA component system for decoders, encoders, DSP processors, verifiers, and extensions. Key entry points are src/loader/gui.cpp and src/loader/console.cpp. The architecture follows a job-based conversion pipeline with worker threads, progress reporting, and configuration persistence. Internationalization is comprehensive (40+ languages). While the code demonstrates solid engineering with signal/slot decoupling and reusable components, it carries technical debt from legacy V8 API usage, manual memory management, and platform-specific #ifdefs.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
Distributive-Network/PythonMonkey ★ 973 46 APPLICATION

PythonMonkey is a Python C extension that embeds Mozilla's SpiderMonkey JavaScript engine, enabling seamless bidirectional interop between Python and JavaScript. It allows Python code to evaluate JS expressions, require CommonJS modules (including .py modules), and manipulate JS objects as native Python types via proxy objects with shared memory semantics. The library integrates JS promises and timers with Python's asyncio event loop, and provides a CLI tool (pmjs) similar to Node.js. The architecture is a native module with extensive C++ proxy handlers for type coercion, a CommonJS module system, and built-in JS modules (console, timers, URL, XMLHttpRequest). External dependencies include SpiderMonkey (built from source), Python 3.8–3.13, npm, cmake, and rust. The codebase is actively maintained by Distributive Corp. and reached MVP in September 2024, but carries medium technical drift due to tight coupling to a specific SpiderMonkey version and Python version shims.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
KaHIP/KaHIP ★ 498 107 APPLICATION

KaHIP (Karlsruhe High Quality Partitioning) is a high-performance C++ library and command-line toolkit for graph partitioning, node ordering, and mapping. It implements multilevel partitioning with advanced refinement techniques including Fiduccia-Mattheyses local search, flow-based min-cut refinement, cycle improvements, and tabu search. The library provides a C API for integration into external applications, along with Python bindings and a Java JNI wrapper. The codebase includes both a sequential version and a distributed-memory parallel version (ParHIP) using MPI, enabling partitioning of large graphs on clusters. Core algorithms are well-structured with modular coarsening, initial partitioning, and uncoarsening/refinement phases, supporting multiple matching strategies (GPA, random, label propagation) and quality/speed trade-offs via preconfigured modes (Strong, Eco, Fast, Social). Despite research-grade complexity and some code duplication between serial and parallel variants, the library is actively maintained and widely used in scientific computing and graph analytics.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
snape/RVO2-3D ★ 296 66 APPLICATION

RVO2-3D is a C++ library implementing Optimal Reciprocal Collision Avoidance (ORCA) for multi-agent simulation in three-dimensional workspaces. It provides a simulator that manages agents with configurable parameters (radius, max speed, time horizon, etc.) and computes collision-free velocities each time step using a linear programming approach over ORCA half-planes. The library uses a k-d tree for efficient neighbor queries and optionally leverages OpenMP for parallel agent updates. The public API is exposed through the RVOSimulator class, with supporting types Vector3 and Plane. The codebase is written in C++98 for maximum compatibility, is thoroughly documented with Doxygen, and includes a single example (Sphere) that serves as both a demonstration and a test. The repository is well-maintained with CI across multiple platforms and build systems (CMake, Bazel), static analysis, and a quality declaration targeting ROS 2 Quality Level 2.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
fffaraz/awesome-cpp ★ 73281 8341 APPLICATION

This repository is a curated list (awesome list) of C++ frameworks, libraries, resources, and tools. It is not a software application or data pipeline; it is a reference document (primarily README.md) that organizes hundreds of links to external C++ projects by category (e.g., AI, Audio, CLI, Compression, Concurrency, Database, GUI, Machine Learning, Networking, etc.). The repository also includes supplementary files (books.md, videos.md) and a contribution guide. There is no executable code, no build system, and no data processing logic. The value lies in the curation and organization of the C++ ecosystem for developers seeking libraries or tools.

RATING: 8.0/10 MAINT: active DRIFT: low
sewenew/redis-plus-plus ★ 1984 390 APPLICATION

redis-plus-plus is a production-grade C++ Redis client library built on hiredis, providing synchronous, asynchronous (libuv), and experimental coroutine (C++20) APIs. It covers the full Redis command surface including strings, hashes, lists, sets, sorted sets, streams, geospatial, hyperloglog, pub/sub, scripting, transactions, pipelines, and server commands. The architecture separates low-level connection management (connection pools, shard pools for clusters, sentinel discovery) from high-level facade classes (Redis, RedisCluster, AsyncRedis, AsyncRedisCluster, QueuedRedis for pipelined/transactional usage). Key entry points include the main sync header `redis++.h`, async header `async_redis++.h`, and coroutine header `co_redis++.h`. Data flows involve constructing Redis commands via `CmdArgs` and `cmd_formatter.h`, sending them through `Connection` objects (optionally pooled), and parsing replies with `reply.h`. The library depends on hiredis for raw Redis protocol, libuv for async I/O, and optionally Boost or OpenSSL for advanced features. It includes a comprehensive test suite covering all commands, multi-threading, cluster, sentinel, and distributed locking patterns (Redlock).

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
shedskin/shedskin ★ 1009 115 APPLICATION

Shed Skin is a Python-to-C++ transpiler that translates a restricted, implicitly statically typed subset of Python 3 into optimized C++. It employs type inference to resolve types and automatically generates C++ code, which is then compiled into native executables or shared library extensions. The architecture consists of a frontend (parser, type inference, virtual analysis), a C++ code generator, and a comprehensive runtime library (implementing Python built-in types, standard library modules, and bundling Boost headers for portability). The project includes over 80 example programs covering games, simulations, compression, AI, and graphics, serving as both showcases and benchmarks. A pytest unit test suite and a CMake/ctest integration test suite validate compiler correctness. The tool is primarily a command-line application invoked via `shedskin build <script>`, producing binaries that typically achieve 1-100x speedups over CPython.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
analogdevicesinc/scopy ★ 499 188 APPLICATION

Scopy is a cross-platform Qt/C++ desktop application for signal analysis and instrument control, developed by Analog Devices. It provides a software oscilloscope, spectrum analyzer, signal generator, logic analyzer, data logger, and many other test-and-measurement tools. The application communicates with Analog Devices hardware (M2K, AD936x, ADRV9009, etc.) via the IIO (Industrial I/O) framework and libiio, and integrates GNU Radio for real-time signal processing pipelines. Scopy features a modular plugin architecture where each hardware target or instrument is a separate plugin package, loaded dynamically at runtime. The core framework provides reusable GUI widgets (plotting, menus, docking), an IIO attribute abstraction layer (iio-widgets), an asynchronous command queue for device operations, and a JavaScript scripting API for automation and testing. The codebase is large and well-structured, with extensive CI/CD for Linux, macOS, Windows, Android, and ARM platforms, but contains some legacy code and mixed API styles that indicate moderate technical drift.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
OpenTournament/OpenTournament ★ 206 96 APPLICATION

Open Tournament is a first-person shooter game built on Unreal Engine, inspired by classic arena shooters like Unreal Tournament and Quake. The game implements comprehensive systems for player movement, combat, AI, user interface, audio, and networking. It features a modular architecture using Unreal Engine's plugin system, with extensive use of the Gameplay Ability System (GAS), Enhanced Input, and replication for multiplayer functionality. The codebase shows thoughtful architectural design in several reusable systems, particularly in settings management, UI composition, messaging, and loading screen handling.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
melonDS-emu/melonDS ★ 5119 897 APPLICATION

melonDS is a Nintendo DS and DSi emulator implemented in C++ with a Qt/SDL frontend. The core provides cycle-accurate emulation of the ARM9/ARM7 CPUs (with both an interpreter and JIT backends for x86_64 and AArch64), 2D/3D GPU (software and OpenGL), SPU, DMA, cartridge slot (retail, homebrew, R4), DSi-specific hardware (AES, NAND, camera, I2C, DSP), Wi-Fi with libslirp user-mode networking, and GDB remote debugging. The architecture separates platform-independent emulation logic from OS-specific frontend and audio/video output via a well-defined Platform abstraction. The codebase is large and includes vendored third-party libraries (libslirp, Teakra DSP, FatFs, tiny-AES-C, xxhash, blip-buf, toml11) and borrowed components from Dolphin and DuckStation projects. Reusable patterns include a consistent savestate serialization scheme, FIFO templates, efficient bitfield utilities, and a register cache for JIT compilation. Maintenance is active with regular commits and CI across Windows, macOS, Linux, and BSD, though some areas (DSi emulation, netplay) have TODOs and commented-out code indicating ongoing development.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
kaitai-io/kaitai_struct ★ 4671 209 APPLICATION

Kaitai Struct is an umbrella project that provides a declarative language for describing binary data structures and a compiler to generate parser code in multiple target languages. The repository coordinates submodules for the compiler, runtimes for various languages (Java, Python, Ruby, etc.), format definitions, visualizer, tests, benchmarks, and documentation. Users describe a format in a .ksy file, compile it with the kaitai-struct-compiler to generate language-specific parser code, and use the corresponding runtime to parse binary data. The project includes CI workflows for building the compiler and publishing artifacts, and maintains a collection of ready-to-use format descriptions.

RATING: 7.9/10 MAINT: maintained DRIFT: low
RPCSX/rpcsx ★ 1951 129 APPLICATION

This repository implements a dual-console emulator targeting PlayStation 3 (RPCS3) and PlayStation 4 (RPCSX/Orbis). The codebase is a large C++ project with a modular architecture: kernel emulation layers for both consoles (syscalls, threads, memory management), CPU emulation (PPU/SPU for PS3, GCN for PS4), GPU emulation (RSX for PS3 with OpenGL/Vulkan backends, GCN shader compiler for PS4), audio backends (Cubeb, FAudio, ALSA), input handlers (DS3, DS4, XInput, PS Move, etc.), network emulation (RPCN, UPnP), and a custom overlay UI system. The project is under active development with frequent commits, though many PS3 firmware modules remain as stubs or placeholders. The architecture separates PS3 and PS4 emulation into distinct directories (`rpcs3/` and `rpcsx/`), sharing a common utility library (`rx/`) that provides synchronization primitives, memory management, and debugging tools. The GPU emulation is particularly sophisticated, featuring a custom shader intermediate representation (IR) for AMD GCN instructions with optimization passes and SPIR-V/GLSL backends. The codebase also includes a comprehensive serialization framework for savestates, a YAML-based configuration system, and a texture cache predictor for GPU performance. Key entry points include the main emulator executables (built from `rpcs3/` and `rpcsx/`), the kernel syscall handlers in `kernel/orbis/` and `kernel/cellos/`, the GPU renderers in `rpcs3/Emu/RSX/` and `rpcsx/gpu/`, and the PS3 firmware HLE modules in `ps3fw/`. External dependencies include Vulkan, OpenGL, FFmpeg, WolfSSL, SDL2, libusb, and several audio libraries. The project is primarily a software application for console emulation, with significant reverse-engineering and research components.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
dchapyshev/aspia ★ 1924 401 APPLICATION

Aspia is a comprehensive, cross-platform remote desktop and system administration suite. The codebase is decomposed into four primary components: a **host** (the machine being controlled), a **client** (the controlling machine), a **router** (session brokering and NAT traversal), and a **relay** (traffic forwarding). It supports Windows, Linux, macOS, and Android, with platform-specific implementations for screen capture (DXGI, X11, Wayland/PipeWire, KMS/DRM, Android MediaProjection), audio (WASAPI, PulseAudio, Oboe), input injection, and clipboard integration. The system uses encrypted communication with SRP authentication, X25519 key exchange, and AEAD ciphers (AES-256-GCM, ChaCha20-Poly1305) with key ratcheting. Beyond desktop sharing, it provides file transfer, text chat, remote terminal, task manager, system information collection, and video recording. The client features both a Qt-based desktop GUI and a custom Android UI built with native widgets. The router manages host discovery, two-factor authentication (TOTP), and relay session keys, while the relay handles peer-to-peer forwarding. The codebase is built with CMake, uses protobuf for messaging, and relies on libraries like asio, OpenSSL, libvpx, libyuv, and zstd.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
omonimus1/competitive-programming ★ 981 148 APPLICATION

This repository is a collection of competitive programming solutions and learning resources accumulated during interview preparation for a Microsoft SWE role. It contains implementations of algorithms and data structures from platforms like LeetCode, HackerRank, CodeChef, and others, organized by problem source and topic. The repository serves as both a personal record of solved problems and a reference for common coding interview patterns. The codebase consists of standalone solution files that implement specific algorithms to solve well-defined problems. Rather than a unified application, it's an educational repository where each file represents a self-contained solution to a particular coding challenge. The solutions demonstrate various techniques including two-pointer approaches, stack-based algorithms, in-place array modifications, and thread synchronization patterns. While the repository doesn't contain a single cohesive software system, it does include several reusable algorithmic patterns that could be extracted for use in other projects. Notable examples include the stack-based parentheses validation, two-pointer technique for sorted arrays, in-place array modification algorithms, and thread coordination mechanisms using Events and Semaphores. These components represent fundamental computer science concepts implemented with attention to correctness and efficiency.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
citron-neo/emulator ★ 513 44 APPLICATION

This is a Nintendo Switch emulator, a direct fork of the defunct yuzu emulator rebranded as 'Citron Neo'. It provides full system emulation through high-level emulation (HLE) of Switch system services, kernel, GPU (Vulkan), audio, and input. The application has three frontends: a desktop Qt GUI, an Android app (Kotlin/JNI), and an iOS app (Swift/Metal). It supports loading Switch game formats (NSP, XCI, NCA), executing ARM code via Dynarmic, and rendering graphics via Vulkan with custom post-processing (FSR, frame interpolation). The codebase is actively developed with additions like frame skipping, a mod manager, performance overlays, and debugger tools, but retains many stub implementations from upstream, indicating incomplete feature coverage. It is primarily a desktop emulator with mobile ports.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
pbek/qmarkdowntextedit ★ 496 101 APPLICATION

QMarkdownTextEdit is a mature C++ Qt library providing a feature-rich markdown text editor widget, QMarkdownTextEdit, which extends QPlainTextEdit with live markdown syntax highlighting, code block syntax highlighting (for dozens of languages via a large hand-curated keyword dataset), line numbers with bookmark indicators, block (rectangular) selection, clickable links, and an integrated search/replace widget. The library is designed to be embedded into larger Qt applications such as QOwnNotes, Notes, and CuteMarkEd-NG. It supports both widget-based (QWidget) and Qt Quick (QML) integration through a registered QML type. The architecture is a single-library module with optional demo and QML example applications. The core components include the main editor widget, the markdown highlighter (which can be used independently on any QTextDocument), a separate search/replace widget (QPlainTextEditSearchWidget), and a line number area (LineNumberArea). The language-specific syntax highlighting data is generated in a single massive C++ file (qownlanguagedata.cpp) using a consistent pattern of init/load functions grouped by language. The library is built and installed via qmake (.pro/.pri) and CMake, with continuous integration across multiple Qt versions (5.9 to 6.10) on Linux, macOS, and Windows. The codebase is well-organized and demonstrates solid engineering practices: clear separation of concerns (highlighter, search widget, editor), support for internationalization (translation files for German, Spanish, Urdu, Chinese), and compatibility with both widget and QML interfaces. While the library is primarily a UI component, it also includes utility patterns like debounced search and regex support. The main risk is the maintenance burden of the enormous hand-curated syntax data file, which contains some minor errors and duplicates, and the lack of automated tests for the highlighting logic. Overall, this is a practical, production-grade text editor component with broad applicability in Qt projects requiring markdown or code editing capabilities.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
Pikachuxxxx/Razix ★ 494 32 APPLICATION

Razix is a multi-platform 3D game engine built in C++ with a focus on modern graphics APIs (Vulkan, DirectX 12, OpenGL). It features a custom rendering hardware interface (RHI), a frame graph system for efficient render pass scheduling, an entity-component system (ECS) for scene management, and a built-in editor with ImGui integration. The engine includes a Lua scripting system, physics integration via Jolt Physics, and a comprehensive memory management layer with custom allocators. Despite its ambitious scope and active development, the codebase exhibits a mix of well-engineered subsystems and areas of legacy code (e.g., LIMBO_STATE). The project provides testing frameworks for both engine core and graphics pipelines, and maintains a dedicated game project ('Tanu') as a showcase.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
$ loading more...
$ submit: