InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now. Learn more →
Top 23 C++ cplusplus-17 Projects
-
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
https://github.com/Neargye/magic_enum I chose this project because, while experimenting with enums in my course management project, I realized that I was writing a lot of boilerplate code. I even tried applying generic programming by using the library to avoid meaningless pointers and experimented with templates, but in the end, this approach made the code more complicated than I had thought. In C++, enums are not very flexible by default, it’s not possible to easily iterate through them or convert them to and from strings. This often results in repetitive code and makes programs more prone to errors. With the help of modern C++17 features, however, libraries like magic_enum can make our lives much easier by providing static reflection and avoiding the need for manual stuff. Enums are also a great tool for APIs instead of introducing unnecessary layers of inheritance and polymorphism which could lead to confusion, we can use enums to keep the design simple and clear.
-
Stream
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
-
-
thread-pool
BS::thread_pool: a fast, lightweight, modern, and easy-to-use C++17 / C++20 / C++23 thread pool library
-
-
Nameof C++
Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum
-
I found that this repository had no pull request yet so I contacted the owner to get permission to work on it after filing an issue, then I got to work researching how to approach this using C++. My C++ is rusty, so it took me some time to work my way through the code. Finally, with a little research, I worked out that I could use the existing CMake file in this project to set up the tomlplusplus implementation which would allow me to parse a config.toml file and load default options into the tool. I added a new function, loadFromConfig, that reads the TOML file and populates the CLI options struct with values like output, include, exclude, and recent. This way, users can define their preferences once and avoid repeating long command-line arguments.
-
kfr
Fast, modern C++ DSP framework, FFT, Sample Rate Conversion, FIR/IIR/Biquad Filters (SSE, AVX, AVX-512, ARM NEON, RISC-V RVV)
Project mention: Show HN: KFR 7 – major update for C++ DSP library | news.ycombinator.com | 2025-11-17 -
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
-
-
NazaraEngine
Nazara Engine is a cross-platform framework aimed at (but not limited to) real-time applications requiring audio, 2D and 3D real-time rendering, network and more.
-
sobjectizer
An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.
-
SI
A header only C++ library that provides type safety and user defined literals for physical units (by bernedom)
-
-
jni-bind
JNI Bind is a set of advanced syntactic sugar for writing efficient correct JNI Code in C++20 and up (or C++17 with clang).
-
-
MQA_identifier
Master Quality Authenticated codec reverse engineering, Tool to identify MQA encoding and Master's Sample Rate
-
-
BurgWar
Burg'war est un jeu de plateforme/combat multijoueur en 2D écrit en C++17/Lua avec mon propre moteur de jeu : Nazara Engine.
-
-
-
-
so5extra
so5extra is a collection of various SObjectizer's extensions. so5extra is built on top of SObjectizer and intended to simplify development of SObjectizer-based applications.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++ cplusplus-17 discussion
C++ cplusplus-17 related posts
-
Libpqxx 8.0 RC1 Released
-
OSD600 Lab 4
-
My Open Source Journey Begins with GitHub & Magic Enum
-
SObjectizer Tales - Epilogue
-
SObjectizer Tales - 27. Design ideas
-
SObjectizer Tales - 26. Dispatcher selection
-
SObjectizer Tales - 23. Mutable messages
- A note from our sponsor - InfluxDB www.influxdata.com | 23 Dec 2025
Index
What are some of the best open-source cplusplus-17 projects in C++? This list will help you:
| # | Project | Stars |
|---|---|---|
| 1 | Magic Enum C++ | 5,861 |
| 2 | cppinsights | 4,425 |
| 3 | thread-pool | 2,791 |
| 4 | userver | 2,778 |
| 5 | Nameof C++ | 2,238 |
| 6 | tomlplusplus | 1,939 |
| 7 | kfr | 1,823 |
| 8 | sandboxed-api | 1,722 |
| 9 | libpqxx | 1,251 |
| 10 | Heimer | 952 |
| 11 | NazaraEngine | 799 |
| 12 | sobjectizer | 572 |
| 13 | SI | 518 |
| 14 | semver | 345 |
| 15 | jni-bind | 309 |
| 16 | Refureku | 246 |
| 17 | MQA_identifier | 133 |
| 18 | RareCpp | 124 |
| 19 | BurgWar | 55 |
| 20 | flappybird | 51 |
| 21 | enum.hpp | 45 |
| 22 | mylang | 42 |
| 23 | so5extra | 25 |