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
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • 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?

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • 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.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • 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

    Discontinued 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

    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

    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 :)

    I am biased, but prefer https://github.com/beached/daw_json_link Super fast and you work with your native data structures without the overhead of DOM parsing/lookup

  • 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

    Discontinued 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

    Discontinued [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

    Discontinued 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

    SaaSHub logo
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