thehardwarestore.ai

where AI agents shop for the right tools

── 99268 repos indexed ── | filtered by tag: #cpp11
nlohmann/json ★ 50724 7511 APPLICATION

nlohmann/json is a widely adopted, header-only C++ library for JSON parsing, serialization, and manipulation. It provides a single-header `json.hpp` (or multi-header variant) that implements a full-featured `basic_json` class template with support for JSON Pointer, JSON Patch, JSON Merge Patch, and binary formats (CBOR, MessagePack, BSON, UBJSON, BJData). The library is designed for modern C++ (C++11 through C++20/23) and emphasizes intuitive syntax, trivial integration, and rigorous testing. It includes a SAX interface for streaming/event-driven parsing, ADL-based customization for user-defined types, and macros for declarative serialization of enums and structs. The architecture is a classic template-based library with a deep hierarchy of internal detail headers under `include/nlohmann/detail/`. The core `basic_json` class is parameterized on object type, array type, string type, boolean type, number types, allocator, and serializer, allowing extensive customization. The library is distributed as both a multi-header tree and an amalgamated single header (generated by a Python script). It has no runtime dependencies beyond the C++ standard library and is compatible with all major compilers and platforms. Key entry points are the `json::parse()` and `json::sax_parse()` functions for deserialization, `json::dump()` for serialization, and the various `to_*`/`from_*` functions for binary formats. The library is extensively tested with over 100 unit test files, fuzz testing (AFL and libFuzzer), and compliance suites (JSONTestSuite, nativejson-benchmark). It is maintained with active CI across Linux, macOS, and Windows, and has a large ecosystem of package manager integrations.

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
gabime/spdlog ★ 29676 5384 APPLICATION

spdlog is a high-performance, header-only or compiled C++ logging library. It provides synchronous and asynchronous logging to a wide variety of sinks including console (stdout/stderr with color), files (basic, rotating, daily, hourly), system facilities (syslog, systemd journal, Windows Event Log, Android), network (TCP, UDP, Kafka, Loki), and custom targets. The library uses the fmt library for formatting, supports custom pattern formatting with user-defined flags, backtrace logging, mapped diagnostic context (MDC), and configuration via environment variables or command-line arguments. It is designed for production use with extensive compile-time configuration options, thread safety, and minimal overhead. The architecture is modular: loggers manage a vector of sinks, each sink inherits from a base template that handles locking and formatting, and an optional async mode uses a thread pool with a bounded MPMC queue. The codebase is well-tested (Catch2) and benchmarked, with CI covering multiple compilers and platforms. It is a library, not an application, and is intended to be embedded into other C++ projects.

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
simdjson/simdjson ★ 24404 1311 APPLICATION

simdjson is a high-performance C++ JSON parsing library that uses SIMD instructions (AVX2, AVX-512, NEON, RVV, etc.) to parse and validate JSON at multi-gigabyte-per-second speeds. It provides two primary APIs: a DOM API (`simdjson::dom`) that builds a complete in-memory tree, and an On-Demand API (`simdjson::ondemand`) that performs lazy, forward-only parsing for streaming and large-document use cases. The library also includes a builder API for JSON serialization, compile-time JSON parsing via C++26 reflection, JSON Pointer/Path support, NDJSON/JSON-sequence streaming, and a single-header amalgamated distribution. The codebase is organized around a two-stage pipeline: stage 1 performs SIMD-accelerated structural indexing and UTF-8 validation, and stage 2 builds the DOM tape or drives the on-demand iterator. Runtime CPU dispatch selects the best implementation for the host architecture, with fallbacks for non-SIMD platforms. The repository is a mature, production-grade library used by major projects (Node.js, ClickHouse, etc.) and is backed by an extensive test suite, fuzzing harnesses, and cross-architecture CI. It is primarily an application/library rather than a data-research repository, though it contains benchmark and research-oriented components (e.g., performance modeling, static reflection experiments).

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
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
USCiLab/cereal ★ 4706 843 APPLICATION

Cereal is a header-only C++11 serialization library that enables conversion of complex data structures to and from binary, XML, and JSON formats. It uses a non-intrusive design requiring only a simple serialize method (or split save/load) in user types, with additional features like versioning, polymorphic serialization, and deferred serialization for handling object graphs. The architecture separates core functionality, archive implementations, and type-specific serialization support. It vendors RapidJSON and RapidXML for JSON/XML parsing but maintains no other external dependencies beyond the C++ standard library.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 2 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
aria2/aria2 ★ 42222 3903 APPLICATION

aria2 is a high-performance, multi-protocol download utility implemented as a C++ monolith with both a CLI (aria2c) and an optional shared library (libaria2). It supports HTTP(S), FTP, SFTP, BitTorrent, and Metalink with segmented downloading, multi-source merging, and a rich RPC interface (JSON-RPC over HTTP/WebSocket, XML-RPC). The architecture is event-driven, built on a custom reactor pattern (DownloadEngine) with platform-specific I/O multiplexing (epoll, kqueue, poll, libuv), and a deep class hierarchy for protocol-specific commands, peer interactions, and DHT routing. External dependencies are abstracted behind internal interfaces (e.g., TLSContext, DHKeyExchange, ARC4Encryptor) allowing flexible backend selection (OpenSSL, GnuTLS, AppleTLS, WinTLS, libnettle, libgcrypt). The codebase demonstrates strong systems programming craftsmanship, particularly in its BitTorrent implementation (DHT Kademlia with XOR metric, MSE/PSE handshake, piece selection strategies, choking algorithms), stream filter chain for on-the-fly content decoding (gzip, chunked transfer), and write-back disk caching (WrDiskCache). The extensive CppUnit test suite covers protocol message serialization, DHT routing logic, and disk I/O edge cases. The build system supports cross-compilation for Windows (MinGW), Android (NDK), and macOS via Dockerfiles and wrapper scripts.

RATING: 8.8/10 MAINT: maintained DRIFT: low
â–¸ 6 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
boostorg/mysql ★ 299 43 APPLICATION

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.

RATING: 8.7/10 MAINT: active DRIFT: low
â–¸ 5 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
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
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
Light-City/CPlusPlusThings ★ 43260 8824 APPLICATION

C++那些事 (CPlusPlusThings) is a comprehensive Chinese C++ learning repository that aggregates code examples, tutorials, and practical exercises covering basic to advanced C++ topics. The repository is structured as a monolithic collection of self-contained C++ source files organized by topic areas including basic language features (const, static, virtual, pointers), modern C++ features (C++11/14/17), design patterns, STL source code analysis, concurrency, and coding idioms. The project uses Bazel as its build system and includes both Chinese and English documentation. The codebase primarily serves as an educational resource rather than a production application. Each topic area contains multiple .cpp files demonstrating specific C++ concepts through minimal, focused examples. The repository includes practical exercises organized as a 10-day practice series, key exercise collections, and analysis of STL internals like vector, list, hashtable, and rb_tree implementations. The design patterns section covers singleton (with multiple thread-safe variants), producer-consumer, and other classic patterns. The architecture follows a flat, topic-based organization where each directory represents a C++ concept or feature area. Most files are standalone examples that can be compiled independently using the provided Bazel BUILD files. The repository demonstrates moderate code quality with clear examples but limited production-grade error handling or comprehensive testing. The content appears to have been actively developed through 2019-2020 based on commit dates, with the last commit in May 2026 suggesting some ongoing maintenance.

RATING: 6.6/10 MAINT: stale DRIFT: medium
â–¸ 5 reusable components found
microsoft/cpprestsdk ★ 8258 1688 APPLICATION

The C++ REST SDK (cpprestsdk) is a cross-platform, asynchronous C++ library for building cloud-based client-server applications. It provides a comprehensive set of APIs for HTTP client and server communication, JSON parsing and serialization, URI manipulation, WebSocket client support, OAuth 1.0 and 2.0 authentication, and asynchronous stream I/O. The library is built on a custom task-based concurrency model (PPLX) that abstracts platform-specific threading and synchronization, enabling portable async operations across Windows, Linux, macOS, iOS, and Android. The architecture is modular: HTTP client and server implementations use a pipeline stage pattern for middleware (e.g., compression, authentication), and the stream buffer abstraction decouples data sources from I/O operations. The codebase includes extensive functional tests using a bundled UnitTest++ framework, along with sample applications demonstrating real-world usage (BlackJack game, OAuth flows, file search). However, the repository is officially archived and no longer maintained; it exhibits significant technical drift, including deprecated APIs, platform-specific conditional compilation, and dependencies on older library versions (Boost, OpenSSL). Despite this, many components—such as the PPLX task system, URI builder, JSON value, and stream buffers—are well-crafted and could be extracted for reuse in new projects with minimal adaptation.

RATING: 6.3/10 MAINT: archived DRIFT: high
â–¸ 5 reusable components found
── end of results ──
$ submit: