What are some cool modern libraries you enjoy using?

This page summarizes the projects mentioned and recommended in the original post on /r/cpp

Our great sponsors
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • SaaSHub - Software Alternatives and Reviews
  • json_test_data

    Test data for nlohmann/json

    Libraries like nlohmann's json, cpr, fmt are prime examples of what I'm seeking. Any suggestions?

  • cpr

    C++ Requests: Curl for People, a spiritual port of Python Requests.

    Libraries like nlohmann's json, cpr, fmt are prime examples of what I'm seeking. Any suggestions?

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • C++ Format

    A modern formatting library

    Libraries like nlohmann's json, cpr, fmt are prime examples of what I'm seeking. Any suggestions?

  • univalue

    An easy-to-use and competitively fast JSON parsing library for C++17, forked from Bitcoin Cash Node's own UniValue library.

    nlohmann's json is ergonomic but is slow. I use this lib when I need speed.

  • PEGTL

    Parsing Expression Grammar Template Library

    I like PEGTL

  • mimalloc

    mimalloc is a compact general purpose allocator with excellent performance.

    mimalloc

  • Magic Enum C++

    Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code

    magic_enum by far. It has an extreme amount of black magic, and compiler specific stuff all abstracted away behind its extremely neat user interface.

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

  • outcome

    Provides very lightweight outcome<T> and result<T> (non-Boost edition)

    outcome and/or expected

  • expected

    C++11/14/17 std::expected with functional-style extensions

    outcome and/or expected

  • GLM

    OpenGL Mathematics (GLM)

    even though it's fairly old and buggy, I haven't found anything as easy to use or complete as glm

  • entt

    Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more

    entt if you really need that ECS model

  • stb

    stb single-file public domain libraries for C/C++

    if you need basic support for different things and don't mind slowness, stb has a bunch of nice simple libraries, mostly for image/sound/font loading/saving

  • Allegro

    The official Allegro 5 git repository. Pull requests welcome!

    allegro5 is a great rendering library if you want to get something 2D on the screen fast

  • farmhash

    Automatically exported from code.google.com/p/farmhash (by google)

    farmhash is pretty great as well in terms of API

  • cpp-httplib

    A C++ header-only HTTP/HTTPS server and client library

  • Experimental Boost.DI

    DI: C++14 Dependency Injection Library

    I love: https://github.com/boost-ext/di for dependency injection

  • FTXUI

    Features: - Functional style. Inspired by [1] and React - Simple and elegant syntax (in my opinion). - Support for UTF8 and fullwidth chars (→ 测试). - No dependencies. - Cross platform. Linux/mac (main target), Windows (experimental thanks to contributors), - WebAssembly. - Keyboard & mouse navigation. Operating systems: - linux emscripten - linux gcc - linux clang - windows msvc - mac clang

    Just discovered FTXUI - a library for creating functional user interfaces on terminal. It supports clickable stuff and even plots. https://github.com/ArthurSonzogni/FTXUI Jason Turner also has a starting repository with all the boilerplate ready: https://github.com/cpp-best-practices/ftxui_template

  • cmake_template

    CMake for C++ Best Practices

    Just discovered FTXUI - a library for creating functional user interfaces on terminal. It supports clickable stuff and even plots. https://github.com/ArthurSonzogni/FTXUI Jason Turner also has a starting repository with all the boilerplate ready: https://github.com/cpp-best-practices/ftxui_template

  • sml

    SML: C++14 State Machine Library

    I'm a big fan of boost::sml for representing state machines.

  • abseil-cpp

    Abseil Common Libraries (C++)

    Abseil https://abseil.io/

  • Code-used-on-Daniel-Lemire-s-blog

    This is a repository for the code posted on my blog

    Nope, simdjson is originally from Daniel Lemire who also often blogs about fancy low level optimizations: https://lemire.me/blog/ I'm just a happy user :)

  • read

    A small header-only library to make input in C++ sensible

  • compile-time-regular-expressions

    Compile Time Regular Expression in C++

    ctre

  • robin-hood-hashing

    Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20

    Oh my bad. Still thought -- your name.. it looks very familiar to me. Are you the robin_hood hashing guy perhaps? Yes you are! My bad -- https://github.com/martinus/robin-hood-hashing.

  • bela

    Modern C++ development experience library (by fcharlie)

    Bela Utilities - Modern C++20 library collection, better development experience on Windows (10,11)

  • Better Enums

    C++ compile-time enum to string, iteration, in a single header file

  • cpp-peglib

    A single file C++ header-only PEG (Parsing Expression Grammars) library

    By the same author, https://github.com/yhirose/cpp-peglib is also very nice.

  • Thrust

    [ARCHIVED] The C++ parallel algorithms library. See https://github.com/NVIDIA/cccl

    For GPGPU, I like thrust. C++-idiomatic way of writing CUDA code, passing between host and device, etc.

  • RESTinio

    Cross-platform, efficient, customizable, and robust asynchronous HTTP(S)/WebSocket server C++ library with the right balance between performance and ease of use

    I had a good experience using restinio for a small ASIO HTTP server recently.

  • DataFrame

    C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types and contiguous memory storage

  • threadx

    Azure RTOS ThreadX is an advanced real-time operating system (RTOS) designed specifically for deeply embedded applications.

    I'm interested in something equivalent to tx_byte_pool but for non-embedded usage where I want a custom allocator for defined pools. Do you know if mimalloc can do this? I see it has custom heaps, but I didn't see any functions to create one from raw memory.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts