SaaSHub helps you find the best software and product alternatives Learn more ā
Top 23 C++ Cpp20 Projects
-
modern-cpp-tutorial
š Modern C++ Tutorial: C++11/14/17/20 On the Fly | https://changkun.de/modern-cpp/
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
-
Project mention: 3rd Edition of Programming: Principles and Practice Using C++ by Stroustrup | news.ycombinator.com | 2024-04-19
-
Project mention: Using Jolt with flecs & Dear ImGui: Game Physics Introspection | dev.to | 2024-04-17
EnTT is a popular alternative to flecs for C++, which has different performance/memory characteristics.
-
catch2 has become fairly bloated. doctest takes all of the best parts of catch2 without all the bloat and the end result is a test framework that is literally over 10x faster than catch2. It's also like 90% compatible with catch2 so porting your tests to it is pretty easy.
Especially if you have a build process that always runs your unit tests, it's nice to have a very fast test/compile/debug loop.
https://github.com/doctest/doctest
-
-
Project mention: C++ Insights ā See your source code with the eyes of a compiler | news.ycombinator.com | 2024-04-05
Sorry, I don't know about an Emacs plugin. All the plugins/extensions I'm aware of are listed in the Readme.md: https://github.com/andreasfertig/cppinsights/#c-insights--vi...
I'm happy to add an entry for Emacs once somebody develops a plugin for that editor.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Project mention: Implementing Regular Expressions in TypeScript Types (Badly) | news.ycombinator.com | 2024-10-20
Hana Dusikova did this in C++ several years ago, with her CTRE library.
https://github.com/hanickadot/compile-time-regular-expressio...
Of course, it has all the usual tradeoffs of compile-time template programming.
-
-
infinity
The AI-native database built for LLM applications, providing incredibly fast hybrid search of dense vector, sparse vector, tensor (multi-vector), and full-text
-
concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
-
-
To dive deeper into Quill or contribute to the project, visit the GitHub repository or the Documentation page.
-
-
-
-
filesystem
An implementation of C++17 std::filesystem for C++11 /C++14/C++17/C++20 on Windows, macOS, Linux and FreeBSD.
-
-
-
-
Project mention: Python type hints may not be not for me in practice | news.ycombinator.com | 2024-11-27
I suspect C++ still comes the closest to what youāre asking for today, at least among mainstream programming languages.
Matrix dimensions are certainly doable, for example, because templates representing mathematical types like matrices and vectors can be parametrised by integers defining their dimension(s) as well as the type of an individual element.
You can also use template wizardry to write libraries like mp-unitsĀ¹ or unitsĀ² that provide explicit representations for numerical values with units. You can even get fancy with user-defined literals so you can write things like 0.5_m and have a suitably-typed value created (though that particular trick does get less useful once you need arbitrary compound units like kgĀ·mĀ·sā»Ā²).
Both of those are fairly well-defined problems and the solutions available do provide a good degree of static checking at compile time.
IMHO, the range question is the trickiest one of your three examples, because in real mathematical code there are so many different things you might want to constrain. You could define a parametrised type representing open or closed ranges of integers between X and Y easily enough, but how far down the rabbit hole do you go? Fractional values with attached precision/error metadata? The 572 specific varieties of matrix that get defined in a linear algebra textbook, and which variety you get back when you compute a product of any two of them?
Ā¹ https://mpusz.github.io/mp-units/
Ā² http://nholthaus.github.io/units/
-
-
axmol
Axmol Engine ā A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A fork of Cocos2d-x-4.0)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++ Cpp20 discussion
C++ Cpp20 related posts
-
OpenJazz is a free, open-source version of the classic Jazz Jackrabbit games
-
Wisnialang Compiler Project
-
Introducing CI Pipeline for Clang-Format Checks in faker-cxx
-
Increasing Code Coverage in faker-cxx
-
Show HN: An update to my friendly C++ WebGPU open source library
-
Implementing Regular Expressions in TypeScript Types (Badly)
-
Giving C++ std:regex a C makeover
-
A note from our sponsor - SaaSHub
www.saashub.com | 9 Feb 2025
Index
What are some of the best open-source Cpp20 projects in C++? This list will help you:
# | Project | Stars |
---|---|---|
1 | modern-cpp-tutorial | 24,421 |
2 | shadPS4 | 17,406 |
3 | Modern-CPP-Programming | 12,813 |
4 | entt | 10,566 |
5 | doctest | 6,089 |
6 | nghttp2 | 4,694 |
7 | cppinsights | 4,184 |
8 | compile-time-regular-expressions | 3,460 |
9 | Osiris | 3,413 |
10 | infinity | 2,989 |
11 | concurrencpp | 2,448 |
12 | proxy | 2,442 |
13 | quill | 1,978 |
14 | async_simple | 1,815 |
15 | giada | 1,761 |
16 | tomlplusplus | 1,647 |
17 | filesystem | 1,388 |
18 | ut | 1,302 |
19 | q | 1,237 |
20 | stdgpu | 1,189 |
21 | mp-units | 1,149 |
22 | Hypr | 1,149 |
23 | axmol | 1,009 |