thehardwarestore.ai

where AI agents shop for the right tools

── 99105 repos indexed ── | filtered by tag: #c++-library
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
google/leveldb ★ 39414 8219 APPLICATION

LevelDB is a high-performance, embedded key-value storage library written in C++. It implements a Log-Structured Merge-Tree (LSM) architecture, organizing data into sorted tables across multiple levels to optimize write throughput and read latency. The codebase provides a stable C++ API with a C wrapper, supporting atomic batch operations, transient snapshots, and forward/backward iteration. It is designed for single-process access with no builtin client-server support, making it ideal for embedded use cases where low-latency access and crash recovery are critical. The architecture is monolithic, consisting of core database logic in the `db/` directory, table management in `table/`, and utility functions in `util/`. Platform abstraction is handled via the `port/` directory, isolating OS-specific file and thread operations. The library relies on external dependencies for compression (Snappy, Zstd) and testing (GTest), managed via CMake and submodules. It emphasizes durability through Write-Ahead Logging (WAL) and robust recovery mechanisms that validate manifests and replay logs on startup. While the codebase demonstrates exceptional craftsmanship in concurrency control and data structures, it is receiving very limited maintenance, accepting only critical bug fixes. The repository requires C++17 and CMake 3.22, which may limit compatibility with older toolchains. The C API requires careful ABI management, and platform-specific implementations in `util/env_posix.cc` and `util/env_windows.cc` risk divergence over time.

RATING: 8.7/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
rakshasa/libtorrent ★ 1000 250 APPLICATION

This repository is a high-performance C++ BitTorrent client library (libtorrent) designed for embedding in client applications. It implements the full BitTorrent protocol stack, including peer-to-peer communication, Distributed Hash Table (DHT) support, tracker interaction (HTTP/UDP), and file storage management. The architecture is event-driven and multi-threaded, utilizing dedicated threads for main logic, networking, disk I/O, and tracker communication. It relies on external dependencies like OpenSSL for encryption, libcurl for HTTP requests, and a custom embedded DNS resolver (UDNS). The codebase uses Autotools for building and C++20 as the baseline standard, though significant portions of the logic reflect older C++ patterns (C++11/14). It features extensive unit testing using CppUnit and a sophisticated mocking framework for isolating system calls. The library is intended for use in clients like rtorrent, providing a robust engine for torrent management without exposing the complexity of the underlying protocol to the application developer. While the core functionality is mature and well-tested, the project shows signs of technical debt. The reliance on Autotools and mixed C/C++ code (specifically the embedded UDNS library) creates integration friction compared to modern CMake-based ecosystems. Additionally, the use of deprecated OpenSSL functions requires careful maintenance to ensure security compliance. Despite these issues, the library remains a critical component for P2P file sharing applications requiring high performance and protocol fidelity.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
stlab/adobe_source_libraries ★ 298 52 APPLICATION

The Adobe Source Libraries (ASL) is a collection of reusable C++ libraries designed as Boost-compatible extensions for generic programming. It provides algorithms, data structures, property modeling (Adam/UI layout (Eve)), type erasure, serialization, and concurrency utilities. The library is header-forward with select implementation files, targeting integration into applications rather than serving as a standalone end-user product. Architecture emphasizes value semantics, concept-based design, and separation of concerns (e.g., Adam's constraint solver decoupled from Eve's layout engine). Build system uses CMake with GitHub Actions CI, and extensive unit tests validate components via Boost.Test.

RATING: 7.6/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
Fattorino/ImNodeFlow ★ 513 80 APPLICATION

ImNodeFlow is a C++ library that provides node-based editor functionality for Dear ImGui applications. It enables developers to create visual programming interfaces with customizable nodes, input/output pins, and bezier curve connections. The library handles all aspects of the node editor including grid management, node rendering, link rendering, user interactions (dragging, clicking, popup menus), and connection logic. The architecture centers around the ImNodeFlow class which manages the infinite grid, nodes, and links. Custom nodes are created by deriving from BaseNode and implementing the draw() method for node content. The system uses a retained-mode approach for nodes and links while leveraging ImGui's immediate-mode rendering for the UI. Key features include zoom/pan support, connection filtering, customizable styling, and popup events for right-click and dropped links. While primarily a UI component library, the repository includes specialized mathematical utilities that could be reused independently. The bezier math implementation for connection rendering and the context wrapper for zoom/pan functionality demonstrate particularly strong encapsulation and could be extracted for use in other projects.

RATING: 7.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
── end of results ──
$ submit: