btop++ is a cross-platform system resource monitor implemented in modern C++ (C++20/23). It provides a real-time terminal user interface displaying CPU, memory, disk, network, process, and GPU utilization. The architecture is modular: a main thread handles input and rendering while a runner thread periodically collects system metrics via platform-specific collectors (Linux: /proc, /sys, perf_event_open; macOS: sysctl, SMC, IOReport; BSD: kvm, sysctl). The codebase features a theming engine with gradient support, a config system with TOML-based persistence, and bundled fmt library for type-safe formatting. While the project demonstrates solid engineering with RAII patterns, atomic locks, and terminal escape code abstractions, it relies heavily on global state and platform-specific ifdefs, which limits testability and portability. GPU monitoring supports NVIDIA, AMD, and Intel integrated GPUs through dynamic library loading and kernel interfaces.
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.
zpp_bits is a modern C++20 header-only binary serialization library that provides high-performance, zero-overhead serialization and deserialization of C++ objects. It supports multiple wire formats including a custom compact binary format and an optional protobuf-compatible protocol (zpp::bits::pb) for cross-language interoperability. The library also includes a built-in RPC framework (zpp::bits::rpc) that can generate client/server stubs from function bindings, and compile-time utilities for hashing (SHA-1, SHA-256) and byte manipulation. The architecture is template-heavy, leveraging C++20 concepts, constexpr evaluation, and structured bindings to automatically serialize aggregates without explicit reflection. Error handling is based on std::errc with optional coroutine support via zpp_throwing. The library is self-contained in a single header file (zpp_bits.h) with no external dependencies beyond the C++ standard library, making it easy to integrate into any C++20 project. It is extensively tested with a vendored copy of Google Test and includes CI pipelines for multiple compilers and C++ standards (C++20 through C++26).
Boost.GIL (Generic Image Library) is a mature, header-only C++14 library for generic image processing, part of the Boost collection. It abstracts image representations from algorithms using template metaprogramming, enabling compile-time polymorphism and performance comparable to hand-written code for specific image types. The library provides core abstractions for pixels, channels, color spaces, image views, locators, and iterators, alongside a comprehensive I/O extension supporting JPEG, PNG, TIFF, BMP, PNM, Targa, and RAW formats. Image processing capabilities include convolution, thresholding (binary, adaptive, Otsu), histogram equalization/matching, morphological operations, edge detection (Sobel, Scharr, Harris, Hessian), Hough transforms (lines, circles), anisotropic diffusion, Lanczos resampling, and rasterization of geometric primitives. The library is designed for both application development and research, with a strong emphasis on extensibility, performance, and portability across compilers. While primarily a production-quality library, its extensive use of concepts and metafunctions also makes it a valuable resource for studying generic programming patterns in C++.
Crow is a modern C++ microframework for building HTTP and WebSocket services. Designed as a single-header library (or modular headers), it provides a Flask-like routing system with typed URL parameters, a middleware pipeline (global and per-route), built-in JSON parsing and generation, Mustache templating, multipart form handling, static file serving, gzip/deflate compression, and SSL/TLS support. The framework is header-only and leverages C++17/20 features such as std::string_view, std::optional, and constexpr where possible. It includes a comprehensive test suite (Catch2), fuzz testing for security, and extensive documentation via MkDocs and Doxygen. Crow is packaged for multiple platforms (Vcpkg, Homebrew, AUR, Conan, Nixpkgs) and is used in production by several open-source projects. The architecture is event-driven, built on top of Asio (standalone or Boost), with a focus on performance and simplicity. Reusable components include a standalone JSON library, base64 utilities, and a flexible middleware system.
librime is the core library of the Rime Input Method Engine, a modular, cross-platform C++ framework for building Chinese and East Asian input methods. It provides a flexible pipeline architecture composed of processors, segmentors, translators, and filters, all configurable via YAML schemas. The library handles dictionary compilation from text to binary trie formats (leveldb and marisa-trie), spelling algebra for variant syllable mapping, and user-specific adaptation through frequency and custom phrase databases. It exposes a stable C API for integration into frontends (e.g., IBus, Squirrel, Weasel) and supports dynamic plugin loading for extensibility. The codebase is well-structured with clear separation of concerns, a component registry pattern, and extensive unit tests. Notable technical strengths include a custom double-array trie implementation (darts-clone), a sophisticated YAML config compiler supporting inheritance and patching, and an event-driven context system for real-time composition state.
Boost.MySQL is a high-quality, production-ready C++11 client library for MySQL and MariaDB, built on top of Boost.Asio. It provides both synchronous and asynchronous database access with a modern, type-safe interface. The library features a sans-I/O architecture that separates protocol logic from transport, enabling testability and flexibility. Key capabilities include connection pooling with automatic health checks, client-side SQL formatting to prevent injection, prepared statements, pipeline batching, and a static interface using Boost.Describe or Boost.Pfr for compile-time row mapping. The codebase demonstrates strong engineering practices: extensive unit and integration tests, fuzzing, thread-safety verification, and benchmarks against native MySQL clients. It is an official Boost library, actively maintained with a large community.
OI-Wiki is a comprehensive, open-source knowledge base for competitive programming (Olympiad in Informatics, ICPC). It is primarily a static documentation site built with MkDocs, featuring thousands of pages covering algorithms, data structures, mathematics, and programming language tools. The codebase includes thousands of standalone C++/Python/Java code examples, each accompanied by test input/output files, which serve as verified implementations for educational purposes. While not a running application, the repository contains a sophisticated build pipeline (pre-build scripts, post-build HTML processing, custom linting) and extensive CI/CD workflows for testing code correctness and documentation quality. The architecture is that of a content management system with heavy emphasis on reproducible, modular examples. Its primary value lies in the curated collection of reusable algorithm templates and the infrastructure ensuring they remain correct across platforms.
Apache Kudu is a distributed columnar storage system designed for fast analytics on fast data. It provides a horizontally scalable, fault-tolerant storage layer that integrates tightly with the Hadoop ecosystem (Spark, Impala, Hive, Flink). The architecture consists of master servers managing metadata and tablet servers storing data in columnar files (CFile) with Raft-based replication for consistency. The codebase includes production-grade C++ core, multi-language client libraries (Java, C++, Python, Spark), a comprehensive RPC framework, security features (Kerberos, TLS, Ranger), and extensive testing infrastructure. While primarily an application, it also contains benchmarking and experimental code (TPC-H, Jepsen, performance experiments) that give it a minor hybrid character. The repository is actively maintained with a large community and demonstrates strong engineering practices, though some vendored code and platform-specific workarounds indicate moderate technical drift.
Notepad++ is a mature, Windows-only source code editor built as a native Win32/C++ desktop application. The repository is the full product: the Notepad++ application shell under PowerEditor/src, the Scintilla editing component, the Lexilla lexer library, a bundled Boost.Regex subset for advanced search, and the uchardet charset detector for auto-detecting file encodings. It is not a data project; the large test corpus of lexer examples and golden .styled/.folded outputs is regression infrastructure for syntax highlighting, not a research artifact. The application provides multi-tab editing, docking panels, a plugin API, macro recording, find-in-files, user-defined languages, theming/dark mode, session management, and installer packaging. Entry points include winmain.cpp, Notepad_plus_Window.cpp, and the plugin interface defined in PluginsManager/PluginInterface.h.
AdaptiveCpp is a SYCL and C++ standard parallelism implementation targeting CPUs and GPUs from multiple vendors. It provides a complete heterogeneous computing stack including compiler infrastructure (LLVM-to-backend translators, optimization passes), runtime system (memory management, scheduling, event handling), and SYCL API headers. The project supports multiple backends (CUDA/HIP, OpenCL, Level Zero, Metal, Vulkan, OpenMP) and features compilation flows including LLVM JIT, source-level interop, and library-only modes. While primarily a production SYCL implementation, it contains research elements reflected in academic citations and experimental features like PCUDA and stdpar support. The codebase demonstrates strong modularity with clear separation between compiler, runtime, and API layers.
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.
OTClient is a fully functional open-source alternative client for the MMORPG Tibia, implemented in C++20 and Lua. It is a cross-platform desktop application that renders a 2D tile-based game world using OpenGL, communicates with game servers via a custom TCP protocol (with encryption, compression, and version negotiation), and provides a rich Lua-scripted user interface built on a custom UI framework (OTML). The repository contains the complete client engine (graphics, networking, audio, input, platform abstraction), game-specific modules (action bars, minimap, market, NPC trade, skill wheel, etc.), and a significant set of bot/automation mods (cavebot, targetbot, loot system). The architecture follows a hybrid C++/Lua model where the core engine is in C++ and all game logic and UI are implemented in Lua, allowing extensive customization and module loading. While the codebase is generally well-structured with reusable components (event dispatcher, layout system, protocol abstraction), it also carries technical debt from accumulated version-specific conditionals, a large bot subsystem that may violate game terms of service, and some duplication between Lua modules.
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.
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.
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.
Neutralinojs is a cross-platform desktop application framework that enables building native desktop apps using web technologies (HTML, CSS, JavaScript) without bundling a full browser engine. The core is a C++ binary that embeds a WebSocket server, a static file server, and a native API layer. Applications communicate with the backend via JSON-RPC over WebSocket, allowing access to OS-level features like file system, process management, clipboard, system info, and window control. The framework supports multiple deployment modes: window (native webview), browser, cloud, and chrome. The architecture is modular, with API controllers in `api/` (e.g., `app`, `fs`, `os`, `net`, `storage`, `clipboard`, `computer`) that each expose a set of methods. The server (`server/neuserver`) routes incoming WebSocket messages to the appropriate controller based on a method prefix. Authentication is handled via a token-based system (`auth/authbasic`), and permissions are enforced through allow/block lists (`auth/permission`). Extensions can be loaded as separate processes (`extensions_loader`), communicating via WebSocket with a shared token. The framework relies heavily on vendored third-party libraries: Asio for async I/O, WebSocket++ for WebSocket protocol, mbedTLS for TLS/crypto, and platform-specific libraries for hardware info, file watching, and clipboard. The build system uses CMake with platform-specific toolchains. The project includes a test suite using Mocha and a custom runner that launches the binary and executes JavaScript specs.
nanoexpress is a professional backend framework for Node.js built on top of uWebSockets.js for high performance. It provides HTTP server functionality with routing, middleware support, WebSocket capabilities, request validation using AJV, Swagger/OpenAPI documentation generation, and utilities for file serving, compression, and cookie handling. The framework follows a modular architecture with core components including App (application wrapper), Config (configuration handling), and Route (routing system with middleware chain). It emphasizes performance while maintaining Express-like usability patterns.
This repository implements a Qt-based C++ library for sending emails via SMTP with full MIME support. The library provides asynchronous and synchronous operation modes, TLS/SSL encryption, SMTP authentication (PLAIN and LOGIN), and support for complex email content including plain text, HTML, attachments, and inline files. The architecture follows a modular design separating concerns into distinct components: email address handling, MIME message construction, and SMTP protocol handling. The core components include SmtpClient for managing SMTP connections and protocol state, MimeMessage for constructing email messages with multiple parts, and a hierarchy of MIME part classes (MimeText, MimeHtml, MimeAttachment, etc.) for different content types. The library uses Qt's networking module for socket communication and implements a state machine to handle the SMTP protocol flow. Data flows involve constructing a MIME message with desired content, configuring the SMTP client with server details, establishing connection, authenticating if required, sending the message, and properly closing the connection. The library demonstrates proper encapsulation, error handling, and adherence to SMTP and MIME standards. It depends only on Qt Core and Qt Network modules, making it relatively lightweight for a feature-rich email solution. The implementation includes robust handling of character encodings, MIME formatting, and transfer encoding (Base64 and Quoted-Printable) as required by email standards.
pycdc/pycdas is a C++11 command-line toolchain for reverse engineering CPython bytecode. pycdc decompiles compiled .pyc files back into human-readable Python source; pycdas emits a detailed bytecode disassembly (with options like --show-caches and --pycode-extra). Version coverage spans Python 1.0 (1994) through 3.13, with the correct opcode semantics selected from the .pyc magic number at load time. The entry points are pycdc.cpp and pycdas.cpp, which are thin CLIs over the pycxx static library that owns marshal-format parsing (pyc_object.cpp, pyc_numeric.cpp, pyc_string.cpp, pyc_sequence.cpp), code-object extraction (pyc_code.cpp), and interpreter version detection (pyc_module.cpp). It also supports decompiling raw marshalled code objects via -c -v <version>. Decompilation loads the code object and interprets its bytecode on a virtual stack machine (FastStack with history snapshots) inside ASTree.cpp, reconstructing structured control flow (loops, try/except, comprehensions, with-blocks) and lowering it into an ASTNode tree for source emission. Opcode semantics are maintained as an X-macro include (bytecode_ops.inl) with explicit version ranges, and per-version opcode-name maps live in bytes/python_*_*.cpp. The module boundaries cleanly separate binary I/O (endian-aware PycBuffer/PycFile streams), object marshalling, disassembly, AST construction, and printing - although the decompiler core itself is a dense, version-conditional megafile. QA is the project's strongest asset. Roughly 200 .pyc fixtures spanning every Python major release (plus an xfail set for known-unfixed cases) are checked by tests/run_tests.py, which compares decompiler output to expected output as token streams rather than exact text - tolerating cosmetic whitespace differences while still catching semantic regressions. Linux and Windows CI run the suite, and scripts/pymultic, Dockerfile.pybuild, and a collection of Autoconf modernization patches make it possible to rebuild ancient CPython releases to regenerate those fixtures. Recent commits cover Python 3.13 opcode support, and the repository is actively maintained. Caveats: the 25-year version matrix forces heavily conditional decompilation logic, some mutable global state exists in ASTree, and unknown or future-modified opcodes degrade to partial output with an 'Unsupported opcode' warning. For its niche, it is the most complete open-source CPython decompiler available.